![](/img/trans.png)
[英]Add dictionary key and values, if filtered with a condition, into another empty dictionary
[英]how to get values from dictionary filtered by condition
今天是個好日子!
請幫我解決以下問題。
我有一些字典
d = {'key1': (0, 1), 'key2': (0, 0), 'key3': (4, 7), 'key4': (0, 0), 'key5': (9, 12), 'key2': (9, 12)}
我正在嘗試提取具有 (0, 0) 值的鍵/值解析
newDict = dict()
for (k, v) in d.values():
if v == 0:
newDict[k] = v
newDict
但它不起作用......
您需要比較元組中的兩個元素,所以v == (0, 0)
。 您可以簡化代碼以使用字典理解:
d = {'key1': (0, 1), 'key2': (0, 0), 'key3': (4, 7), 'key4': (0, 0), 'key5': (9, 12), 'key6': (9, 12)}
newDict = { k : v for k, v in d.items() if v == (0, 0) }
print(newDict)
Output:
{'key2': (0, 0), 'key4': (0, 0)}
注意我已經通過將第二個key2
更改為key6
來更正字典中的重復鍵
使用dict.fromkeys()
res = dict.fromkeys((k for k, v in d.items() if v == (0, 0)), (0, 0))
print(res)
Output:
{'key2': (0, 0), 'key4': (0, 0)}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.