私はPythonの辞書理解を学ぼうとしており、次の関数が行うことを1行で実行できると思います。n+1
最初の as を作成することも、2 番目の as の使用を避けることもできませんでしたrange()
。
のように、理解中に自動的にインクリメントするカウンターを使用することは可能test1()
ですか?
def test1():
l = ['a', 'b', 'c', 'd']
d = {}
n = 1
for i in l:
d[i] = n
n = n + 1
return d
def test2():
l = ['a', 'b', 'c', 'd']
d = {}
for n in range(len(l)):
d[l[n]] = n + 1
return d