Python 单行 "for" 表达式
我不太确定我需要用到lambda表达式,还是别的什么。不过,我有以下需求:
我有一个数组 array = [1,2,3,4,5]
。我想把这个数组放到另一个数组里,比如说。但是我想把这一切都写成一行代码。
for item in array:
array2.append(item)
我知道其实可以通过遍历这些元素来做到这一点,并且可以写成一行。但是我在网上查资料和看手册时并没有找到太多帮助……如果你能给我一点提示,或者告诉我这个东西叫什么,我会非常感激。
更新:假设这样写: array2 = 某个很酷的表达式,它会把第一个数组里的所有数据都拿到
(这个例子并不真实。我只是想遍历不同的数据块,但这是我能想到的最好方式)
5 个回答
5
如果你只是想把一个数组里的东西加到另一个数组里,其实可以直接用'+'这个符号来做到这一点,已经被特别处理过了:
a1 = [1,2,3,4,5]
a2 = [6,7,8,9]
a1 + a2
--> [1, 2, 3, 4, 5, 6, 7, 8, 9]
36
for item in array: array2.append (item)
array2 += array
或者,在这种情况下:
153
你要找的关键词是 列表推导式:
>>> x = [1, 2, 3, 4, 5]
>>> y = [2*a for a in x if a % 2 == 1]
>>> print(y)
[2, 6, 10]