我試圖在python中使用多維字典。就我而言,我需要使用的結構是這樣的:如何在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
此外,我需要遍歷這個結構。你知道如何實現這個結構以及迭代它們的最佳方式嗎?
僅供參考,你可以通過使用所有字典所具有的'setdefault'方法來縮短代碼。 – ThiefMaster 2014-11-06 08:05:44