我有一个列表字典,里面有诸如var1=vara,var1=varb,var2=vara等信息。这个字典可以有很多条目,我可以像这样打印出来
for y in myDict:
print(y+"\t"+myDict[y])我有另一个列表,它有像这样的var2,var3等排除项。这可能有< 10个条目,我可以像这样打印ok
for x in myList:
print(x)现在,我想删除字典中键为列表值的键值对。我试过了
for x in myList:
for y in myDict:
if x != y: print(y+"\t"+myDict[y])但在每次遍历列表时,它都会让除当前“x”之外的所有其他项显示在屏幕上
如果key存在于列表中,有没有一种很好的python方法来从字典中删除key val对?
发布于 2010-01-23 00:04:20
你的意思是
for key in myDict:
if key not in myList:
print(key+"\t"+myDict[key])或者是许多替代方案中的一个:
for key in (set(myDict)-set(myList)):
print(key+"\t"+myDict[key])发布于 2010-01-23 00:04:41
mySet = set(myList)
myNewDict = dict(((k, v) for k, v in myDict if k not in mySet))请注意,使用mySet而不是myList并不是问题,除非myList有大量条目。
https://stackoverflow.com/questions/2118503
复制相似问题