Python 使用列表理解从dict获取密钥
我有一个python的列表和dict,Python 使用列表理解从dict获取密钥,python,Python,我有一个python的列表和dict, 列表A=[1,3] dict B={'apple':1,'orange':3,'carrot':4} 因此,现在我想在python中使用列表理解,并获取列表A中带有“值”的键列表。首先需要循环遍历字典,然后检查值是否在其他列表中。 这可以通过列表理解来完成,也可以不通过列表理解来完成 使用列表理解: value = [x for x in B if B[x] in A] value = [] for x in B: if B[x] in A:
列表A=[1,3]
dict B={'apple':1,'orange':3,'carrot':4}
因此,现在我想在python中使用列表理解,并获取列表A中带有“值”的键列表。首先需要循环遍历字典,然后检查值是否在其他列表中。
这可以通过列表理解来完成,也可以不通过列表理解来完成 使用列表理解:
value = [x for x in B if B[x] in A]
value = []
for x in B:
if B[x] in A:
value.append(x)
没有列表理解:
value = [x for x in B if B[x] in A]
value = []
for x in B:
if B[x] in A:
value.append(x)
TL;DR
a = set([1,3])
b = {'apple':1, 'orange':3, 'carrot': 4}
# Filter dict b with a as keys
c = {k:v for k,v in b.items() if k in a}
这个小列表应该可以理解
a=[1,3]
b={‘苹果’:1,‘橙色’:3,‘胡萝卜’:4}
打印([x代表b中的x,如果b[x]代表a])
您意识到您正在“反向”运行字典,对吗?列表(c.keys())
对于键列表,更正应该是a中的v
此外,将列表a转换为set(a)
以降低操作中的时间复杂度,而此代码可以解决OP的问题,最好包括关于代码如何解决OP问题的解释。通过这种方式,未来的访问者可以从您的帖子中学习,并将其应用到自己的代码中。因此,它不是一种编码服务,而是一种知识资源。此外,高质量、完整的答案更有可能被提升。这些特性,以及所有帖子都是独立的要求,是SO作为一个平台的一些优势,使其区别于论坛。您可以编辑以添加其他信息和/或用源文档补充说明。已修复。谢谢你的推荐。