[英]How to simplify this dictionary creation with for loop
我有這個:
for char in alphabet:
positions[char] = i
i += 1
我正在嘗試這個:
[positions[char] = i for char in alphabet i+=1]
但我不確定i的增量。
使用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))}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.