我有一个字典,如果一个值出现不止一次,我想删除所有出现的值和相应的键。
非常感谢任何帮助。
对于那些好奇我的词典如下:
{' Monster 1':' Modema',' Monster 2':' Aninige',' Monster 3' ;:' Dolamisme',' Monster 4' Malexo',' Monster 5':' Eludisnismu',& #39; Monster 6' Du-Minime',' Monster 7' An' Anu',' Monster 8':& #39; Mu',' Monster 9' Aluligige',' Monster 10':' Asmismu','怪物11' Aninige','怪物12'' Dolamisme','怪物13'' Esmusno&# 39;,'怪物14':' Asmismu'}
如果任何两个怪物在同一个地方(具有相同的值),则必须销毁怪物和地方。
答案 0 :(得分:1)
使用pandas: 只是因为你可以:)
import pandas as pd
d = {'a':1,'b':1,'c':2, 'd':'cat','e':'cat','f':'cow'}
new_d = pd.DataFrame([d]).T.drop_duplicates(keep=False)[0].to_dict()
print(new_d)
返回:
{'c': 2, 'f': 'cow'}
使用收藏柜台:
from collections import Counter
d = {'a':1,'b':1,'c':2, 'd':'cat','e':'cat','f':'cow'}
nondup = {k for k,v in Counter(d.values()).items() if v == 1}
new_d = {k:v for k,v in d.items() if v in nondup}