Python单行"for"表达式

010*_*101 23 python lambda

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

我有一个array = [1,2,3,4,5].我需要把这个数组放到另一个数组中.但是把它全部写在一行.

for item in array:
    array2.append(item)
Run Code Online (Sandbox Code Playgroud)

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

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

(这个例子不是真的.我只是想迭代不同的数据块,但这是我能想到的最好的)

Ada*_*eld 48

您要查找的关键字是列表推导:

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

  • 其实,是!这就是我要找的东西!!)你能告诉我这个东西是怎么叫的,这样我也可以阅读更多关于其他可能性和运算符的信息吗?) (2认同)

lio*_*ori 10

for item in array: array2.append (item)
Run Code Online (Sandbox Code Playgroud)

或者,在这种情况下:

array2 += array
Run Code Online (Sandbox Code Playgroud)


ewa*_*all 5

如果您确实只需要将一个数组中的项目添加到另一个数组中,那么“+”运算符已经重载来执行此操作,顺便说一句:

a1 = [1,2,3,4,5]
a2 = [6,7,8,9]
a1 + a2
--> [1, 2, 3, 4, 5, 6, 7, 8, 9]
Run Code Online (Sandbox Code Playgroud)