Python单行“for”表达式[重复]

Posted

技术标签:

【中文标题】Python单行“for”表达式[重复]【英文标题】:Python one-line "for" expression [duplicate] 【发布时间】:2010-12-05 10:16:03 【问题描述】:

我不确定我是否需要 lambda 或其他东西。但是,我仍然需要以下内容:

我有一个array = [1,2,3,4,5]。例如,我需要将此数组放入另一个数组中。但要写在一行中。

for item in array:
    array2.append(item)

我知道这完全可以遍历项目并使其成为单行。但是谷歌搜索和阅读手册对我没有多大帮助......如果你能给我一个提示或命名这个东西,以便我能找到它是什么,我真的很感激。

更新:让我们这样说:array2 = SOME FANCY EXPRESSION THAT IS GOING TO GET ALL THE DATA FROM THE FIRST ONE

(这个例子不是真的。我只是想遍历不同的数据块,但这是我能想到的最好的)

【问题讨论】:

【参考方案1】:

您要查找的关键字是list comprehensions:

>>> x = [1, 2, 3, 4, 5]
>>> y = [2*a for a in x if a % 2 == 1]
>>> print(y)
[2, 6, 10]

【讨论】:

我还是Python初学者,这个“2*a”的目的是什么? @亚当·罗森菲尔德【参考方案2】:
for item in array: array2.append (item)

或者,在这种情况下:

array2 += array

【讨论】:

【参考方案3】:

如果你真的只需要将一个数组中的项目添加到另一个数组中,'+' 运算符已经被重载了,顺便说一句:

a1 = [1,2,3,4,5]
a2 = [6,7,8,9]
a1 + a2
--> [1, 2, 3, 4, 5, 6, 7, 8, 9]

【讨论】:

【参考方案4】:

即使array2.extend(array1) 也可以。

【讨论】:

【参考方案5】:

如果您尝试复制数组:

array2 = array[:]

【讨论】:

以上是关于Python单行“for”表达式[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Python:for循环内的单行扩展[重复]

表达式中的Python“in”关键字与for循环中的[重复]

用于匹配单行和多行注释的 Python 正则表达式。

Python 循环 while,for语句

Python 语句和注释

Python单行注释方法