删除字典中值大于的所有条目

2024-09-28 05:16:32 发布

您现在位置:Python中文网/ 问答频道 /正文

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

任何帮助都将不胜感激。你知道吗

对于那些好奇的人,我的字典如下:

{'Monster 1':'Modema'、'Monster 2':'Aninige'、'Monster 3':'dolamime'、'Monster 4':'Malexo'、'Monster 5':'Eludisnismu'、'Monster 6':'Du Minime'、'Monster 7':'Anu'、'Monster 8':'Mu'、'Monster 9':'alulige'、'Monster 10':'Asmismu'、'Monster 11':'anige'、'Monster 12':'dolamime'、'Monster 13':'Esmusno','怪物14':'Asmismu'}

如果任何两个怪物在同一个地方(有相同的价值),那么这两个怪物和地方都必须被摧毁。你知道吗


Tags: 字典地方dumonstermu怪物anuminime
1条回答
网友
1楼 · 发布于 2024-09-28 05:16:32

使用熊猫:仅仅因为你可以:)

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}

相关问题 更多 >

    热门问题