ske*_*tel 5 python dictionary duplicates python-3.x
我有两个字典。一个看起来像这样:
dict1 = {'ana': 'http://ted.com', 'louise': 'http://reddit.com', 'sarah':'http://time.com'}
Run Code Online (Sandbox Code Playgroud)
另一个看起来像这样:
dict2 = {'patricia': 'http://yahoo.com', 'ana': 'http://ted.com',
'louise': 'http://reddit.com', 'florence': 'http://white.com'}
Run Code Online (Sandbox Code Playgroud)
我需要比较两个字典,并从dict2已经存在于其中的任何键/值对中消除dict1
如您所见,Ana和Louise已经存在于中dict1,因此我想自动将其从中删除dict2
。预期的输出将仅包含唯一的元素,dict2 并且尚未出现在中dict1,并且看起来像:
dict2 = {'patricia': 'http://yahoo.com', 'florence': 'http://white.com'}
Run Code Online (Sandbox Code Playgroud)
我不需要做任何关于莎拉进场的事情dict1。我只关心比较dict2与dict1删除重复。
额外信息:
我尝试以多种不同方式遍历字典,但这给了我两种错误:not hashable type或dict content changed during action。
我也尝试将每个列表都组合成一个列表,但最终结果是另一个列表,我不知道如何将列表重新变成字典。
如果键匹配,Jim 的回答将删除项目。如果键和值都匹配,我认为您想删除。这实际上非常简单,因为您使用的是 Python 3:
>>> dict(dict2.items() - dict1.items())
{'florence': 'http://white.com', 'patricia': 'http://yahoo.com'}
Run Code Online (Sandbox Code Playgroud)
它之所以有效,是因为dict_items对象将减法运算视为集合差。
| 归档时间: |
|
| 查看次数: |
2883 次 |
| 最近记录: |