根据键中的值过滤字典 [英] filtering dictionary based on value in a key
本文介绍了根据键中的值过滤字典的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想过滤具有'hometown':'NY'
I would like to filter the dictionary that has 'hometown':'NY'
[{'name': 'paul', 'age': '26', 'hometown': 'AU', 'gender': 'male'},
{'name': 'mei', 'age': '27', 'hometown': 'NY', 'gender': 'female'},
{'name': 'smith', 'age': '14', 'hometown': 'NY', 'gender': 'male'},
{'name': 'raj', 'age': '13', 'hometown': 'IND', 'gender': 'male'},.....]
这是我的代码
a=[]
for test in result:
x={}
for key,value in test.items():
if key == 'hometown':
if 'NY' in value:
x[key] = value
a.append(x)
这是我的输出:
[{}, {'hometown': 'NY'}, {'hometown': 'NY'}, {}]
我想要的输出是:
[{'name': 'mei', 'age': '27', 'hometown': 'NY', 'gender': 'female'},
{'name': 'smith', 'age': '14', 'hometown': 'NY', 'gender': 'male'}]
推荐答案
In [12]: a = [{'name': 'paul', 'age': '26', 'hometown': 'AU', 'gender': 'male'},
...:
...: {'name': 'mei', 'age': '27', 'hometown': 'NY', 'gender': 'female'},
...: {'name': 'smith', 'age': '14', 'hometown': 'NY', 'gender': 'male'},
...: {'name': 'raj', 'age': '13', 'hometown': 'IND', 'gender': 'male'}]
In [13]: [i for i in a if i["hometown"]=="NY"]
Out[13]:
[{'name': 'mei', 'age': '27', 'hometown': 'NY', 'gender': 'female'},
{'name': 'smith', 'age': '14', 'hometown': 'NY', 'gender': 'male'}]
这篇关于根据键中的值过滤字典的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文