删除字典中值不止一次的所有条目

时间:2018-02-14 20:36:49

标签: python dictionary

我有一个字典,如果一个值出现不止一次,我想删除所有出现的值和相应的键。

非常感谢任何帮助。

对于那些好奇我的词典如下:

{' 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'}

如果任何两个怪物在同一个地方(具有相同的值),则必须销毁怪物和地方。

1 个答案:

答案 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}