0
我有一個字典,如:從列表中刪除值
a = {1: {1:2, 3:4}, 2: {4:5, 6:7}}
與dictionarys列表,例如:
b = [{1:2, 3:4}, {9:10}]
我怎樣才能如果列表b中有任何「a」的值,從我的「a」字典中刪除特定項目?
我需要得到這個輸出:
a = {2: {4:5, 6:7}}
謝謝!
我有一個字典,如:從列表中刪除值
a = {1: {1:2, 3:4}, 2: {4:5, 6:7}}
與dictionarys列表,例如:
b = [{1:2, 3:4}, {9:10}]
我怎樣才能如果列表b中有任何「a」的值,從我的「a」字典中刪除特定項目?
我需要得到這個輸出:
a = {2: {4:5, 6:7}}
謝謝!
您可以使用dictionary comprehension:
>>> a = {1: {1:2, 3:4}, 2: {4:5, 6:7}}
>>> b = [{1:2, 3:4}, {9:10}]
>>> {k:v for k,v in a.items() if v not in b}
{2: {4: 5, 6: 7}}
>>>
a = {key: value for key, value in a.items() if value not in b}
這是一個列表解析相當簡單。如果您期待b
中的很多項目,則使用設置操作可能會更快:
b_set = {frozenset(d.items()) for d in b}
a = {key: value for key, value in a.items()
if frozenset(value.items()) not in b_set}