获取字典中列表中字典的值

2024-06-16 15:34:04 发布

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

我想得到字典中已知键的值。很简单,但是这个字典在字典列表中,列表在字典中。在

示例:

{u 'd1': 1, 'd2':2 , 'd3': [{'e1':'muh','e2':'mia' ...},{'e1':'wuff', 'e2':'kickeriki'...},...]}

我想得到'd3'中键'e2'的所有值。有超快的方法吗?在

编辑*: 谢谢您!在

结果:

^{pr2}$

我要单子套餐。在


Tags: 方法编辑示例列表字典d2d1d3
2条回答

基于列表理解的简短回答是:

[ d[k] for d in data['d3'] if k in d ]

其中data是示例中的数据结构,k是要查找的键。在

此替代方法不假定k存在于所有下级词典中。在

^{pr2}$

结果

['muh', 'wuff']

如果子句if k in d被消除,这将导致异常,因为对不包含k的字典执行d[k]。在

尝试使用列表理解法:

d = { 'd1': 1,
      'd2': 2 ,
      'd3': [{'e1':'muh','e2':'mia'}, {'e1':'wuff', 'e2':'kickeriki'}]}

[inner['e2'] for inner in d['d3']]
=> ['mia', 'kickeriki']

相关问题 更多 >