繁体   English   中英

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

[英]Replacing redundant keys and values in a dictionary in python

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

例如

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

所需的输出(删除了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)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM