我想过滤包含“ 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'}]
答案 0 :(得分:1)
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'}]
答案 1 :(得分:1)
您可以尝试以下方法:
result = [{'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 i, test in enumerate(result):
for key,value in test.items():
if key == 'hometown':
if 'NY' in value:
a.append(result[i])
print(a)
输出:
[{'name': 'mei', 'age': '27', 'hometown': 'NY', 'gender': 'female'}, {'name': 'smith', 'age': '14', 'hometown': 'NY', 'gender': 'male'}]