0
なぜこのリストの理解力が、ネストされたforループと同等であると思ったのとは異なる出力を生成しているのか、私は本当に迷っています。誰も洞察力を発することはできますか?リストの入れ子になっているループとは異なる理解出力がありますか?
リスト内包:以下で
[(n ** 5, m ** 3) for n in range(3) for m in range(5) if m % 2 == 0]
結果:以下の中
L = []
for n in range(3):
for m in range(5):
if m % 2 == 0:
n = n**5
m = m**3
vals = (n,m)
L.append(vals)
L
結果:私はループの等価入れ子になっていると信じて何が
[(0, 0), (0, 8), (0, 64), (1, 0), (1, 8), (1, 64), (32, 0), (32, 8), (32, 64)]
、 :
[(0, 0),
(0, 8),
(0, 64),
(1, 0),
(1, 8),
(1, 64),
(32, 0),
(33554432, 8),
(42535295865117307932921825928971026432, 64)]
2つの出力の違いは何ですか?
はあなたにマルタインをありがとうございます。同等のネストされたforループが何であるべきか尋ねることができますか?それは私の理解を助けるだろう。 – jsynnott
@jsynnottこれらの別々の割り当てをしないでください。単に 'vals =(n ** 5、m ** 3)'を実行してください。 –
@jsynnott:別の名前を使用してください。 –