【问题标题】:What does the "x for x in" syntax mean? [duplicate]“x for x in”语法是什么意思? [复制]
【发布时间】: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,则将其添加到列表中”

标签: python list for-loop


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2017-02-01
    • 2012-06-27
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    • 2013-08-17
    • 2020-03-18
    • 2021-08-02
    • 1970-01-01
    相关资源
    最近更新 更多