【发布时间】:2018-05-07 22:24:44
【问题描述】:
执行此代码时实际发生的情况:
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']
【问题讨论】:
-
[x for x in text if x.isdigit()]是“列表理解”。这意味着类似于“对于文本中的每个 x,如果 x.isdigit() 为 True,则将其添加到列表中”