【问题标题】:How list comprehensions works here? [duplicate]列表推导如何在这里工作? [复制]
【发布时间】:2016-12-23 10:11:11
【问题描述】:

我已阅读有关列表推导的 python 文档,我对列表推导工作流程有所了解,但无法理解此代码中涉及的过程。

items=[x for x in raw_input().split(',')]

【问题讨论】:

  • 不是输出,是赋值。
  • 运行并自己尝试
  • 理解是什么?这不等于items = raw_input().split(',')?
  • @mpf82 - 这不是重复的。这里没有嵌套。这只是 str.split() 操作的浅拷贝。
  • @JitendraReddy 我不明白你的评论。你写你知道它是输出,不是它,是一个列表压缩分配给变量items,它不输出任何东西。

标签: python list-comprehension


【解决方案1】:

它创建一个列表,其中包含来自输​​入(来自终端)的每个单词,用逗号分隔 ,

编辑:

items = [x for x in raw_input().split(',')]
print items

从终端输入:

this, is, a, string

打印:

['this', ' is', ' a', ' string']

编辑2

正如 cmets 中所指出的,列表推导是多余的,您可以使用

items = raw_input().split(',')

编辑3

在 cmets 中也提到过,上述方法仅适用于 python 版本 2。对于 python3,您可以使用

items = input().split(',')                                                      
print (items)

【讨论】:

  • 它还将列表分配给变量items
  • “x for x”是什么意思?
  • 查看重复问题的链接。 raw_input().split(',') 返回一个列表,x for x 迭代该列表的每个元素。
  • 这将在大多数维护的 python 版本上引发语法错误。
  • @MarcvT 一个会/应该,但这不是问题中所问的。
猜你喜欢
  • 2021-01-02
  • 2020-05-05
  • 1970-01-01
  • 2018-07-22
  • 1970-01-01
  • 2013-08-04
  • 2015-06-08
  • 2018-03-18
  • 2017-01-28
相关资源
最近更新 更多