我的python字典结构是这样的:
ips[host][ip]
每行ips [host] [ip]如下所示:
[host, ip, network, mask, broadcast, mac, gateway, ip_ver, status]
因此,密钥也存储在行中。这本字典经过大量处理,也可用于其他较重的处理。一旦这个字典被认为是final,我就必须将这些行输出到数据库。
输出优化和其他编程功能(如冲突处理)(例如,当存在主键冲突时自动执行的操作)使输出功能变得复杂。此外,输出函数还用于许多其他字典/表格。
输出函数需要一个列表,而不是字典(这就是为什么键也在ips字典中)。我发送到输出函数的所有其他字典都可以通过这样做来工作,因为它们是列表的字典:
locations = am_output.loc.values()
但是,这个ips字典是列表字典的字典。我认为这样可行:
ips = am_output.ips.values().values()
但我收到错误:
AttributeError: 'dict_values' object has no attribute 'values'
答案 0 :(得分:2)
一个简单的列表理解就可以了:
[y for x in ips.values() for y in x.values()]
演示:
>>> ips = {'a' : {1: 2, 3: 4},
... 'b': {'a': 'b', 'c': 'd'}}
>>> [y for x in ips.values() for y in x.values()]
[2, 4, 'b', 'd']