1
我想创建一个简单字典的每个字母后面的数字(从1-26),如下所示:{'a': 1, 'b': 2, 'c': 3, ...}
。 我想使用字典理解这样做是为了尝试,所以我所做的:Dict理解错误
from string import lowercase
d = {s:i for s in lowercase for i in range(1, 27)}
然而,这会导致:{'a': 26, 'b': 26, 'c': 26, ...}
。我认为这是因为它遍历小写的每个值,将它分配给1,然后是2,然后是3(对于每个值),结尾为26.只有26个键,因为它是一个字典,它不会有两个键(因此它将全部覆盖到最后的26)。我不知道如何解决这个问题,所以如果我能够得到关于如何真正做到这一点的指导,那会很好。
我得到它使用dict()
和zip()
:dict(zip(lowercase, range(1, 27)))
。但是,我想知道如何使用字典理解来做到这一点。谢谢!