“ x for x in”语法的含义是什么?

Mar*_*har 9 python for-loop list

执行此代码时实际发生的情况:

text = "word1anotherword23nextone456lastone333"
numbers = [x for x in text if x.isdigit()]
print(numbers)
Run Code Online (Sandbox Code Playgroud)

我知道,这[]构成一个列表,.isdigit()如果字符串(文本)的元素是数字,则检查True或False。但是我不确定其他步骤,尤其是:for循环前面的“ x”是做什么的?

我知道输出是(下),但是如何完成?

Output: ['1', '2', '3', '4', '5', '6', '3', '3', '3']
Run Code Online (Sandbox Code Playgroud)

nin*_*alt 8

这只是标准的Python列表理解。这是编写更长的for循环的另一种方式。您要遍历字符串中的所有字符,如果字符是数字,则将它们放在列表中。

请参阅以获取有关列表理解的更多信息。

  • 在答案中用更长的循环写出相同的代码会很有帮助。 (5认同)