簡體   English   中英

如何使用 for 循環簡化此字典創建

[英]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的增量。

我得到了錯誤:

使用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))} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM