我有一个函数h()
,它返回一个对应于列表中最常见元素的元组,以及一个名为" Values
"的字典中的值。 - 例如,如果list1
中最常见的元素是字符串"test"
,它出现三次并且对应Values = {"test":10}
,那么h(list1) = [3,10]
。
当两个列表共享相同的元素/频率时,我想删除最常见的元素。以下是我正在尝试的内容:
list1.remove([k for k,v in Values.items() if v == h(list1)[1]])
ValueError: list.remove(x): x not in list
如何根据Values
字典中的值从列表中删除密钥?
答案 0 :(得分:0)
删除只需要一个元素。
toremove = {k for k,v in Values.items() if v == h(list1)[1]]}
#either:
for r in toremove:
list1.remove(r)
#or (less efficient)
list1 = = [i for i in list1 if i not in toremove]