【问题标题】:Difference between [y for y in x.split('_')] and x.split('_')[y for y in x.split('_')] 和 x.split('_') 之间的区别
【发布时间】:2015-07-08 20:26:59
【问题描述】:

我找到了this question 并且原始代码中的一件事让我感到困惑:

>>> x="Alpha_beta_Gamma"
>>> words = [y for y in x.split('_')]

这样做有什么意义:[y for y in x.split('_')]split 已经返回一个列表,并且项目不会在此列表理解中进行操作。我错过了什么吗?

【问题讨论】:

  • 除非你喜欢打字和无意义的开销,否则没有意义
  • @Padraic 我曾经喜欢打字和无意义的开销,但后来我停止使用 Java。 :)
  • 有些人对xxx理解非常着迷,以至于他们会尽可能地使用它们。

标签: python string list split


【解决方案1】:

你是对的;这样做没有意义。但是,它经常与某种过滤器或其他结构结合使用,例如[y for y in x.split('_') if y.isalpha()]

【讨论】:

    【解决方案2】:

    结果没有区别,但在这种情况下使用列表理解不是一个好方法而且是多余的!

    >>> x="Alpha_beta_Gamma"
    >>> [y for y in x.split('_')]
    ['Alpha', 'beta', 'Gamma']
    >>> x.split('_')
    ['Alpha', 'beta', 'Gamma']
    

    【讨论】:

      猜你喜欢
      • 2017-12-31
      • 2021-09-11
      • 1970-01-01
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-07
      • 1970-01-01
      相关资源
      最近更新 更多