[英]Way to remove reversed key:value pairs in python map dict?
我環顧四周,要么忽略了某些東西,要么找不到解決方案。 通常我會避免發帖,但近兩天來我一直在努力解決這個問題。
我對 python 還是有些陌生,所以我可能在這里忽略了一些東西:
我有這個詞典:
dict = {'27': 28, '28': 27, '30' : 31, '31' : 30}
我想刪除重復的鍵:反轉的值。
所以對於最后的命令,我想:
dict = {'27': 28, '30' : 31}
因此,每個副本至少有一個鍵值對。
如果這是重復的帖子,我深表歉意,但我四處尋找答案,但沒有找到任何有用的東西,也沒有找到我可以解決的問題。
任何幫助深表感謝!
如果字典中有嚴格的順序(原點對/反轉對等),你可以使用這個:
data = {'27': 28, '28': 27, '30' : 31, '31' : 30}
l1 = list(data.items())[0::2]
dict(l1)
# {'27': 28, '30': 31}
對於多個鍵:
data = {'27': 28, '28': 27, '30' : 31, '31' : 30}
seen = set()
seen_add = seen.update
data = {key: v for key, v in data.items() if not (((k := int(key)), v) in seen or seen_add(((k, v), (v, k))))}
{'27': 28, '30': 31}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.