如何在python中使用多维dict

2024-09-30 10:34:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我尝试在python中使用多维dict。就我而言,我需要使用这样的结构:

MyDict[domain][IPAddress][UserAgent1, UserAgent2, UserAgent3, ....]

在这个结构中,每个键都是一个字符串,最后一个值是一个向量。我在第一次插入时使用以下代码:

^{pr2}$

但此代码不适用于此错误:

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

另外,我需要对这个结构进行迭代。你知道如何实现这种结构,以及对它们进行迭代的最佳方式吗?在


Tags: 字符串代码indomain错误not结构向量
1条回答
网友
1楼 · 发布于 2024-09-30 10:34:09

问题是您已经为MyDict[domain]分配了一个列表而不是一个字典,请尝试以下方法:

if domain not in MyDict:
    MyDict[domain] = {}
if IPAddress not in MyDict[domain]:
    MyDict[domain][IPAddress] = []
if UserAgent1 not in MyDict[domain][IPAddress]:
    MyDict[domain][IPAddress].append(UserAgent1)

我不清楚您希望在迭代中看到什么,但这应该让您开始:

^{pr2}$

或者更“Python”的版本:

^{3}$

相关问题 更多 >

    热门问题