質問

私は、次のループがあるとします:

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
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top