Я пытаюсь использовать многомерный dict в python. В моем случае, мне нужно использовать структуру, как это:Как использовать многомерный dict в python
MyDict[domain][IPAddress][UserAgent1, UserAgent2, UserAgent3, ....]
В этой структуре каждая клавиша является строка и последние значения в векторе. Я использую этот код для первой вставки:
from collections import defaultdict
MyDict= defaultdict(lambda: defaultdict(lambda: defaultdict(3)))
if domain not in MyDict:
MyDict[domain] = []
if IPAddress not in MyDict[domain]:
MyDict[domain].append(IPAddress)
if UserAgent1 not in MyDict[domain][IPAddress]:
MyDict[domain][IPAddress].append(UserAgent1)
Но этот код не работает для этой ошибки:
Traceback (most recent call last):
File "/.../Main.py", line 33, in <module>
if UserAgent1 not in MyDict[domain][IPAddress]:
TypeError: list indices must be integers, not str
Кроме того, мне нужно итерацию по этой структуре. Вы знаете, как реализовать эту структуру и лучший способ их повторения?
FYI, вы можете сократите свой код с помощью метода 'setdefault', который есть у всех dicts. – ThiefMaster