私は特に、前にこの行を見ていないことthis questionに昨日いくつかのコードを見た:forループ中にlist/dictを割り当てるのに適していますか?
for xyz[num] in possible[num]:
...
このループが実行されるように、possible[num]
からの要素が位置num
でリストxyz
に割り当てられます。私はそれよりも最初は多くの混乱を見つけるため
for value in possible[num]:
xyz[num] = value
...
私は間違いなく、常にこの第二のフォーマットを使用する:私は本当に、私はいくつかのテスト、そしてここではもう少し明示的であるいくつかの同等のコードではなかった。このことで混乱していましたそれは価値がありますが、私は好奇心が強いです... so:
この「機能」を使用する理由はありますか?
ここで私が思いついたばかげた使用例があります(同じことをするより良い方法があるので愚かです)。最初は13文字でアルファベットの文字を回転させるものです。 rot13から文字を13位離れた場所にマップする辞書を作成するためのものです。
>>> import string
>>> rot13 = [None]*26
>>> for i, rot13[i%26] in enumerate(string.ascii_lowercase, 13): pass
...
>>> ''.join(rot13)
'nopqrstuvwxyzabcdefghijklm'
>>> rot13_dict = {}
>>> for k, rot13_dict[k] in zip(rot13, string.ascii_lowercase): pass
...
>>> print json.dumps(rot13_dict, sort_keys=True)
{"a": "n", "b": "o", "c": "p", "d": "q", "e": "r", "f": "s", "g": "t", "h": "u", "i": "v", "j": "w", "k": "x", "l": "y", "m": "z", "n": "a", "o": "b", "p": "c", "q": "d", "r": "e", "s": "f", "t": "g", "u": "h", "v": "i", "w": "j", "x": "k", "y": "l", "z": "m"}
私はコードを誤解していると思います。 'num'は固定値です。あなたの例はより複雑です... –
おそらくそれはコードギアのために便利です:) –
@gnibblerこれを使用してインプレースで行列を転置できますか? –