繁体   English   中英

如何在python中执行此列表/字典理解

[英]How to do this list/dict comprehension in python

我正在创建如下的python字典:

d= {i : chr(65+i) for i in range(4)}

现在d输出为{0: 'A', 1: 'B', 2: 'C', 3: 'D'}

我有一个要查找的键列表,如下所示:

l = [0, 1]

现在,我要做的是创建另一个列表,其中包含与这些键对应的值,并且我想知道是否存在使用列表或字典理解的Python方式。

我可以做如下事情:

[x for x in d[0]]

但是,我不知道如何在此设置中遍历列表中的条目。 我试过了:

[x for x in d[a] for a in l] # name 'a' not defined
[x for x in d[for a in l]] # invalid syntax

您想遍历l ,因此可for element in l 然后在左侧字典中的值产生表达式中查找内容:

[d[element] for element in l]

注意,将连续的从0开始的整数映射到字母的字典效率不高。 您也可以将其列出:

num_to_letter = [chr(65 + i) for i in range(4)]

这仍然将0映射到'A' ,将1映射到'B'等,但是没有哈希步骤。

暂无
暂无

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

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