Python如何做列表字典的字典的.values().values()

标签 python list dictionary

我的python字典结构是这样的:

ips[host][ip]

每行 ips[host][ip] 看起来像这样:

[host, ip, network, mask, broadcast, mac, gateway, ip_ver, status]

因此键也存储在行中。该字典经过大量处理,也用于其他更繁重的处理。一旦该字典被认为是最终的,我就必须将行输出到数据库。

由于输出优化和冲突处理等其他编程功能(例如,当存在主键冲突时自动执行什么操作),输出函数变得复杂。此外,输出功能还用于许多其他词典/表。

输出函数需要一个列表,而不是字典(这就是为什么键也在 ips 字典中)。我发送到输出函数的所有其他字典都通过这样做来工作,因为它们是列表字典:

locations = am_output.loc.values()

然而,这个ips字典是列表字典的字典。我认为这会起作用:

ips = am_output.ips.values().values()

但我收到错误:

AttributeError: 'dict_values' object has no attribute 'values'

最佳答案

一个简单的列表理解就可以了:

[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']

关于Python如何做列表字典的字典的.values().values(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45217118/

相关文章:

Python 以列表中给定元素之前的元素为目标

Python pip 安装需要 server_hostname

python - 有没有办法更快地运行 OpenCV 的 SIFT?

python - 从列表中删除包含日期的字符串,而不影响列表中的独立日期

python - 如何安装 Pylint,克服错误

Scala 异步/回调代码重写

C# 从字符串中获取具有特定模式的子字符串

list - 生成列表的所有排列,包括不同大小和重复元素

python - 拼写错误,Python 函数仍然有效。为什么?

python - 如何检查输入是否超出字典列表的范围?