dct={'a':3,'b':1,'c':1,'d':1,'e':2,'f':2}
for key in dct.values():
#code
我找不到删除所有具有相同值的键的方法,我的输出应该是:
{ 'A':3}
基本上我只想要删除多次出现值的字典,值不是特定的1或2它可以是任何#
答案 0 :(得分:2)
试试这个词典理解:
new_dct = {k: v for k, v in dct.items() if list(dct.values()).count(v) <= 1}
这不会从原始字典中删除,但会生成一个新字典,其中只包含原始字典中不重复值的键和值。 *
*:请注意,在Python 3.x中,dict
个list()
个对象返回values()
method,而在Python 2.x中,view object个对象返回returns a normal list
。因此,需要在此处调用count()
以使用list()
列表方法,因为OP使用的是Python 3.x.如果您使用的是Python 2.x,则只需删除count()
来电,然后直接在dct.values()
上致电String pattern = getPattern();
。
答案 1 :(得分:0)
简易解决方案
dct={'a':3,'b':1,'c':1,'d':1,'e':2,'f':2}
d = {}
allu = [];
lulu = [];
for k, v in dct.items():
if v in allu:
lulu.append(v)
allu.append(v)
d = dict(dct)
for k,v in d.items():
if v in lulu:
del dct[k]
print(dct)