Py-for繰り返し文はどうして出てこないのですか
数字リストから奇数を得たいだけです.
関数を出力するとビットと同じ結果になります
どうしてこんな結果になったの?
pythonはfor文を初めて起動し、numbersが[0]の2は偶数であるためnumbersである.remove(i)から削除します.
事実問題はここで起きた.私が考えているPython.
最初のfor numbers=は[2,7,4,12,3,9]から2を削除する
2番目のfor mun-numbers=[,7,4,12,3,9]に生存する7
3番目のfor mun-numbers=[,7,4,12,3,9]から4を削除
...
君はこんなに賢く濾過すると思っていた.
最初のfor mun-numbers=[2,7,4,12,3,9]から2を削除すると
数字=[7,4,12,3,9].次に、この数値リストでfor文を繰り返します.
すなわち、for−ifはnumber[0]の2を取り除き、number[1]はifゲートを迂回する必要があり、number[1]は7ではなく4になった.
つまり、7の生存は私のコードのためではなく、直接スキップしたのです.
したがって,2番目の繰返しでは4を除いてnumber=[7,12,3,9]では3番目の繰返し文が戻り,element 12,number[2]の3をスキップして検証され,12が生存する.
は、このように既存のリストを反転させ、対応する要素で既存のリストを繰り返し検証する.
def remove_odd_numbers(numbers):
for i in numbers:
if i % 2 == 0:
numbers.remove(i)
return print(numbers)
numbers=[2,7,4,12,3,9]の場合関数を出力するとビットと同じ結果になります
どうしてこんな結果になったの?
pythonはfor文を初めて起動し、numbersが[0]の2は偶数であるためnumbersである.remove(i)から削除します.
事実問題はここで起きた.私が考えているPython.
最初のfor numbers=は[2,7,4,12,3,9]から2を削除する
2番目のfor mun-numbers=[,7,4,12,3,9]に生存する7
3番目のfor mun-numbers=[,7,4,12,3,9]から4を削除
...
君はこんなに賢く濾過すると思っていた.
最初のfor mun-numbers=[2,7,4,12,3,9]から2を削除すると
数字=[7,4,12,3,9].次に、この数値リストでfor文を繰り返します.
すなわち、for−ifはnumber[0]の2を取り除き、number[1]はifゲートを迂回する必要があり、number[1]は7ではなく4になった.
つまり、7の生存は私のコードのためではなく、直接スキップしたのです.
したがって,2番目の繰返しでは4を除いてnumber=[7,12,3,9]では3番目の繰返し文が戻り,element 12,number[2]の3をスキップして検証され,12が生存する.
解決策
は、このように既存のリストを反転させ、対応する要素で既存のリストを繰り返し検証する.
Reference
この問題について(Py-for繰り返し文はどうして出てこないのですか), 我々は、より多くの情報をここで見つけました https://velog.io/@jake93/TIL-Py-for-반복문-왜-안나올까テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol