簡體   English   中英

過濾字典列表中的鍵/值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM