从两个字典中删除重复的键(Python3.6)

2024-10-03 17:21:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两本字典。在

d1 = {(1,1):1 , (2,1):1 , (2,2):1 , (1,2):1}
d2 = {(1,2):1 , (2,2):1}

我想从d1中删除d2的所有元素。因此,如果两个字典中都有一个重复的键,那么应该从d1中删除该键。在

newd1 = {(1,1):1 , (2,1):1}

有什么想法吗?在


Tags: 元素字典d2d1newd1
3条回答

您可以这样做:

for key in d2:
    d1.pop(key, None)

您可以使用del从字典中删除键:

d1 = {(1,1):1 , (2,1):1 , (2,2):1 , (1,2):1}
d2 = {(1,2):1 , (2,2):1}

for key in d2:
    if key in d1:
        del d1[key]

print(d1)

结果是:

^{pr2}$
{k:v for k, v in d1.items() if not any(str(k2) in str(k) for k2,v2 in d2.items())}

相关问题 更多 >