質問
私は、次のループがあるとします:
i = 0
l = [0, 1, 2, 3]
while i < len(l):
if something_happens:
l.append(something)
i += 1
何かがlen(i)
に追加されたときにl
条件が更新されるwhileループで評価されているのでしょうか?
解決
はい、それはされます。
他のヒント
あなたのコードは動作しますが、ループカウンタを使用すると、多くの場合、非常に「神託」とはみなされません。 for
を使用すると、同じようにうまく機能し、カウンタを排除します:
>>> foo = [0, 1, 2]
>>> for bar in foo:
if bar % 2: # append to foo for every odd number
foo.append(len(foo))
print bar
0
1
2
3
4
あなたはどのように「遠く」リストに知る必要がある場合、あなたはenumerate
を使用することができます:
>>> foo = ["wibble", "wobble", "wubble"]
>>> for i, bar in enumerate(foo):
if i % 2: # append to foo for every odd number
foo.append("appended")
print bar
wibble
wobble
wubble
appended
appended
所属していません StackOverflow