“x for x in”语法是什么意思?

时间:2017-11-23 22:50:17

标签: python list for-loop

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

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

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

我知道输出是什么(下面),但它是如何完成的?

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

1 个答案:

答案 0 :(得分:4)

这只是标准的Python列表理解。这是编写更长循环的不同方式。如果字符是数字,则循环遍历字符串中的所有字符并将它们放入列表中。

有关列表理解的更多信息,请参阅this