首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python列表排除

Python列表排除
EN

Stack Overflow用户
提问于 2010-01-22 23:59:15
回答 2查看 200关注 0票数 0

我有一个列表字典,里面有诸如var1=varavar1=varbvar2=vara等信息。这个字典可以有很多条目,我可以像这样打印出来

代码语言:javascript
复制
for y in myDict:  
    print(y+"\t"+myDict[y])

我有另一个列表,它有像这样的var2,var3等排除项。这可能有< 10个条目,我可以像这样打印ok

代码语言:javascript
复制
for x in myList:
    print(x)

现在,我想删除字典中键为列表值的键值对。我试过了

代码语言:javascript
复制
for x in myList:
    for y in myDict:
        if x != y: print(y+"\t"+myDict[y])

但在每次遍历列表时,它都会让除当前“x”之外的所有其他项显示在屏幕上

如果key存在于列表中,有没有一种很好的python方法来从字典中删除key val对?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-01-23 00:04:20

你的意思是

代码语言:javascript
复制
for key in myDict:
    if key not in myList:
        print(key+"\t"+myDict[key])

或者是许多替代方案中的一个:

代码语言:javascript
复制
for key in (set(myDict)-set(myList)):
    print(key+"\t"+myDict[key])
票数 5
EN

Stack Overflow用户

发布于 2010-01-23 00:04:41

代码语言:javascript
复制
mySet = set(myList)
myNewDict = dict(((k, v) for k, v in myDict if k not in mySet))

请注意,使用mySet而不是myList并不是问题,除非myList有大量条目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2118503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档