我正在尝试在 python 中迭代一个列表。该列表是内置的,被称为 string
的 ascii_lowercase
。我正在尝试创建一个 dictionary
来保存所有英文字母,每当要将字母表添加到字典中时,我也想为该字母表分配一个特定的数字。
最近,我尝试这样做:
alphabets = {for (x,j) in [(x,j) for x in ascii_lowercase for j in range(len(ascii_lowercase))]}
但是没有运气。任何人都可以帮助我为这种类型的事物创建一个表达式吗?
为了更清楚它,这就是我想要的:
{'a':1, 'b':2, ... }
最佳答案
from string import ascii_lowercase
alphabets = dict(zip(ascii_lowercase, range(1,27)))
输出:
>>> alphabets
{'f': 6, 'g': 7, 'd': 4, 'e': 5, 'b': 2, 'c': 3, 'a': 1, 'n': 14, 'o': 15, 'l': 12, 'm': 13, 'j': 10, 'k': 11, 'h': 8, 'i': 9, 'v': 22, 'w': 23, 't': 20, 'u': 21, 'r': 18, 's': 19, 'p': 16, 'q': 17, 'z': 26, 'x': 24, 'y': 25}
其他方法:
{char:i for char,i in zip(ascii_lowercase, range(1,27))}
或
answer = {}
for i,char in enumerate(ascii_lowercase):
answer[char] = i+1
或
dict((char,i) for i,char in enumerate(ascii_lowercase, 1))
关于python - 在递增另一个变量的同时遍历列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21314143/