在python中替换字典中的冗余键和值

在python中替换字典中的冗余键和值,python,dictionary,Python,Dictionary,是否有一种优雅的方式来浏览字典,如果有相同的键和值,则删除它们并将剩余的连接到新的键值对 e、 g 移除所需输出Olomouc并创建Znojmo:Bratislava对: d = {Znojmo: Bratislava, Brno: Jihlava, Opole: Liberec, Trnava: Prague} 可以使用反向字典执行此操作: inv_d = {v: k for k, v in d.items()} for v in inv_d: if v in d: d

是否有一种优雅的方式来浏览字典,如果有相同的键和值,则删除它们并将剩余的连接到新的键值对

e、 g

移除所需输出Olomouc并创建Znojmo:Bratislava对:

d = {Znojmo: Bratislava, Brno: Jihlava, Opole: Liberec, Trnava: Prague}

可以使用反向字典执行此操作:

inv_d = {v: k for k, v in d.items()}
for v in inv_d:
    if v in d:
       d.pop(inv_d[v])
       d[inv_d[v]] = d[v]
       d.pop(v)

可以使用反向字典执行此操作:

inv_d = {v: k for k, v in d.items()}
for v in inv_d:
    if v in d:
       d.pop(inv_d[v])
       d[inv_d[v]] = d[v]
       d.pop(v)

想象d={'a':'b','b':'c','c':'a'}你想要什么输出?想象d={'a':'c','b':'c','c':'x'}。你想要什么输出?请提供替换的算法,以及你所做的。兰比:结果将是一个没有问题的空字典吉姆·德拉亨特:我忘了提到字典是作为更复杂算法的一部分创建的,因此你提供的案例,在我的代码中不会真正出现想象d={'a':'b','b':'c','c':'a'}你想要什么输出?想象d={'a':'c','b':'c','c':'x'}。你想要什么输出?请提供替换的算法,以及你所做的。兰比:结果将是一个没有问题的空字典吉姆·德拉亨特:我忘了提到字典是作为更复杂算法的一部分创建的,因此你提供的案例,在我的代码中不会真正出现