我正试图写一个程序,接收有关交换机的数据行。到目前为止,我已经将数据分为几行,以便每行包含一个ip、max和total。这些都可以在字典中很好地填充,但是我注意到每次迭代下面的字典结构时,都会覆盖字典。我想把多个词条加到一本字典里。你知道吗
for line in lines:
switch_ip = buildings[build_pre]
total = int(line.split(';')[3])
MAX = int(line.split(';')[4])
if switch_ip not in data:
data = { buildings[build_pre]:
{ switch_ip:
{ 'max': MAX,
'total':total
}
}
}
当前data
的输出是:
{'Azalea': {'Azalea': {'max': 14, 'total': 56}}}
但是,我希望输出看起来更像:
{'Azalea': {'Azalea': {'max': 14, 'total': 56}},
'Traditions': {'Traditions': {'max': 13, 'total': 20}}}
你在每个循环中重新定义字典。相反,您需要定义一次字典,然后在每个循环中附加到字典。你知道吗
这样,您就可以在每次迭代时为字典添加一个键,而不是试图构建一个全新的字典。你知道吗
您的代码可以重写如下:
默认情况下,Python将变量称为本地变量。它可以添加到本地
data
字典,因此可以尝试在for循环之前的一行中定义global data
。你知道吗但是,这取决于您使用它的方式和地点。你知道吗
相关问题 更多 >
编程相关推荐