list
の2つの機能をテストするループをfor
に書きたいと思います。最初はintを戻し、もう1つはboolean
です。 boolean == False
関数がリストから要素を削除する必要がある場合は、関数Lを呼び出した後に最後に変更する必要があります。ここに例があります。偽の繰り返し
def f(i):
return i + 2
def g(i):
return i > 5
L = [0, -10, 5, 6, -4]
def applyF_filterG(L, f, g):
for i in L:
if g(f(i)) == False:
L.remove(i)
L = [5, 6]
私の問題はi
が削除された場合、i+1
が原因で削除要素のi+2
に変わるため、上記の記述された機能で、私は戻ってL = [-10, 5, 6]
を得るということです。誰かがこれを解決する方法を知っていますか?本当にありがとう!
これは 'for i in L [:]'の代わりに 'for i in L'をコピーしても繰り返します。 –
''もしiがi + 2> 5ならiのiのi ''と同じ結果が得られます。 –