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”表达式[重复]的主要内容,如果未能解决你的问题,请参考以下文章