执行此代码时实际发生的事情:
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']
答案 0 :(得分:4)
这只是标准的Python列表理解。这是编写更长循环的不同方式。如果字符是数字,则循环遍历字符串中的所有字符并将它们放入列表中。
有关列表理解的更多信息,请参阅this。