新しい要素を生成するために、forループ内のリストの最後の要素を使用します。ここに私の問題のおもちゃの例である:forループのリストの最後の要素の使い方は?
a = [1]
a += [a[-1]+i for i in range(10)]
が、それは唯一の1と最後の要素を考慮して、新しい最後の要素を見つけるために、forループを通過しません。この問題を解決する方法を教えてください。
新しい要素を生成するために、forループ内のリストの最後の要素を使用します。ここに私の問題のおもちゃの例である:forループのリストの最後の要素の使い方は?
a = [1]
a += [a[-1]+i for i in range(10)]
が、それは唯一の1と最後の要素を考慮して、新しい最後の要素を見つけるために、forループを通過しません。この問題を解決する方法を教えてください。
はこれを試してみてください:リスト内包を使用して
a = [1]
for i in range(10):
a.append(a[-1]+i)
print(a)
は、各新しい反復で配列の新しい最後の値をとるが、通常のfor
ループ意志を使用しません。
私は、コードを実行すると、次の答えました:私はちょうど高速なコードを実行するには、このようにループのために持っていたくなかった
In [2]: a = [1]
In [3]: a += [a[-1]+i for i in range(1,10)]
In [4]: a
Out[4]: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
を。 – user36729
これはリストの理解よりも遅いとは思わない。あなたが上でやっていることは、リストの理解の中にあるループでもあります。 – abagshaw