文字の文字列の辞書を作成したいと思います。そのキーは一意の文字で、値は最初の文字のインデックスです現れる。 0 '、' i ':1、' s ':2、' p ':8}if文を使ったPython辞書の理解ですが、if文には辞書自体が含まれています
「pythonic」という文字を書き込もうとしましたが、「word =' mississippi 'コード:
dict = {word[i]:i for i in range(len(word)) if word[i] not in dict.keys()}
しかし、私が得たことであった:{ 'I':10、 'M':0、 'P':9、 'S':6}、辞書wasnかのようであった if文が呼び出されたときに更新され、まだ空でした。
ループの通常は正しいことをした:
for i in range(len(word)):
if word[i] not in first_apperance_dict.keys():
dict[word[i]]=i
出力:{ 'I':1、 'M':0、 'P':8、 'S':2}
それで、なぜですか?この問題のpythonicエレガントなコードはありますか?一般的に、私はリストまたはディクショナリの中でif文に静的な変数を入れるだけですか?