2017-11-23 5 views
-1

"x for x in"の構文は何を意味しますか?このコードが実行されるときに、実際に何が起こる

text = "word1anotherword23nextone456lastone333" 
numbers = [x for x in text if x.isdigit()] 
print(numbers) 

私は理解して、その[]は、リスト、TrueまたはFalseのため.isdigit()チェックした文字列(テキスト)の要素が多数ある場合になります。しかし、私は他のステップ、特に: "x"がforループの前で何をするのかについては不明です。

私はその出力が(下)であることを知っていますが、それはどのように行われますか?

Output: ['1', '2', '3', '4', '5', '6', '3', '3', '3'] 
+0

「x.isdigit()」が「リストの理解」の場合は、[xのテキストはxです。これは、x.isdigit()がTrueの場合は、リスト内に追加すると、「テキストの各xについて」のような意味です。 – Blorgbeard

+0

あなたはすべてを知っていて、依然として尋ねています! –

答えて

0

これは単なる標準的なPythonリストの理解です。これは長いforループを書く別の方法です。文字が数字の場合は、文字列内のすべての文字をループしてリストに入れます。

リストの理解の詳細については、thisを参照してください。

関連する問題