[英]Filter key/values in a list of dictionaries
假设一个字典列表:
[{'a':3434,'b':23424,'c':3231,'d':24334243},
{'a':344,'b':234,'c':321,'d':24334}
{'a':34,'b':2424,'c':31,'d':2434243},...]
是否有一种单行方法来过滤列表,仅使用某些键 ['a','b'] 获取字典?
例如:
Result = [{'a':3434,'b':23424},
{'a':344,'b':234}
{'a':34,'b':2424},...]
注意:我目前的解决方案是使用 for 循环,完全不优雅
这将是我的自制方法。
newLst = [{k:v for k,v in dicts.items() if k in ['a','b']}for dicts in last]
a = [{'a':3434,'b':23424,'c':3231,'d':24334243},{'a':344,'b':234,'c':321,'d':24334},{'a':34,'b':2424,'c':31,'d':2434243}]
r = []
for i in a:
if ('a' in i) and ('b' in i):
r.append({'a':i['a'], 'b':i['b']})
print(r)
output
[{'a': 3434, 'b': 23424}, {'a': 344, 'b': 234}, {'a': 34, 'b': 2424}]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.