简体   繁体   English

从 python 中的嵌套字典中获取值的最佳方法

[英]Best way to get values from nested dictionary in python

Suppose I have a dict:假设我有一个字典:

d = {'A': {'field': 1}, 'B': {'field': 2}}

How can I list the values of all field keys?如何列出所有field键的值? Expected result:预期结果:

[1, 2]

You can do it in one line simply with list comprehension like so:您可以简单地使用列表理解在一行中完成,如下所示:

fields = [x["field"] for x in d.values() if 'field' in x.keys()]

Hope this helps:)希望这可以帮助:)

[value['field'] for _, value in d.items() if 'field' in value]

Use a list comprehension like this:使用这样的列表推导:

>>> d
{'A': {'field': 1}, 'B': {'field': 2}}
>>> [d[e]['field'] for e in d]
[1, 2]

If you want a clearer readable code than one-liners:如果您想要比单行代码更清晰易读的代码:

d = {'A': {'field': 1}, 'B': {'field': 2}}
fields = d.values()
result = []
for val in fields:
  result.append(val['field'])

print(result)

Repl link复制链接

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM