1. ホーム
  2. python

[解決済み] x for x in」構文とはどういう意味ですか?[重複しています]。

2022-03-02 15:17:08

質問

このコードが実行されると、実際に何が起こるか。

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

私は、そのことを理解しています。 [] はリストを作成します。 .isdigit() は、文字列(text)の要素が数字であるかどうかをTrueかFalseでチェックします。しかし、他のステップについてはよくわかりません。特に、forループの前にある "x"は何をするものなのでしょうか?

出力される内容(以下)はわかりますが、どのように行われるのでしょうか?

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

解決方法は?

これはPythonの標準的なリスト内包に過ぎません。より長いforループを書くための別の方法です。文字列の中のすべての文字をループして、その文字が数字ならリストに入れるということです。

参照 これ は、リスト内包の詳細です。