繁体   English   中英

Python:如果列表项是字典中给定值的键,则将其删除

[英]Python: Remove list item if it is key for a given value from dictionary

我有一个函数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字典中的Values从列表中删除键?

删除仅需要单个元素。

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]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM