我有这个:
for char in alphabet:
positions[char] = i
i += 1
我正在尝试:
[positions[char] = i for char in alphabet i+=1]
但是我不确定 i 的增加。
答案 0 :(得分:2)
使用enumerate
和dict
理解:
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))}