从词典列表中提取项目

Ott*_*ana 14 python

假设你有一个像这样的字典列表:

a = [ {'name':'pippo', 'age':'5'} , {'name':'pluto', 'age':'7'} ]
Run Code Online (Sandbox Code Playgroud)

你从这个列表中只提取名称==冥王星的dict怎么样?为了使事情变得更加困难,请考虑我无法进行任何导入

rpl*_*lnt 26

列表理解是理想的:

[d for d in a if d['name'] == 'pluto']
Run Code Online (Sandbox Code Playgroud)

  • 这是'如果'不是'在哪里'.编辑:我看到你修好了.值得一提的是,这仍然是一个列表,因为有可能有多个结果具有该值 - 如果您确定只有一个并且只需要一个,只需访问该新列表中位置0的元素. (3认同)

小智 12

除了列表理解,其他响应给你,你也可以使用过滤器和lambda:

filter(lambda x: x.get('name') == 'pluto',a)
Run Code Online (Sandbox Code Playgroud)