如何使用for循环简化此字典的创建

时间:2020-04-20 11:17:58

标签: python for-loop

我有这个:

for char in alphabet:
    positions[char] = i
    i += 1

我正在尝试:

[positions[char] = i for char in alphabet i+=1]

但是我不确定 i 的增加。

and I get the error:

1 个答案:

答案 0 :(得分:2)

使用enumeratedict理解:

positions = {char: i for i, char in enumerate(alphabet)}

这将从i=0开始,您可以将起始索引作为参数传递给enumerate

enumerate(alphabet, 1)将在1处开始索引。对于一般的递增循环变量,可以使用注释中提到的itertools.count,也可以仅循环range

positions = {alphabet[i]: i for i in range(len(alphabet))}