目录
最近我在用Python处理数据时,需要将列表数据相加实现“累积”效果的。需要注意,我这里所说的列表相加,并非是下面这种“列表元素相加”的情况。
list_1 = [1, 2, 3]
list_2 = [4, 5, 6]
print(list_1 + list_2)
输出:
[1, 2, 3, 4, 5, 6]
注:列表元素的添加方式中,除了+号还有append()
、extend()
等方法。
我们目前的两个列表元素都是int整数型,其次它们长度相同,我们想要对应索引位置元素相加,生成新的列表list_3
。
for循环
在交互式环境中输入如下命令:
list_1 = [1, 2, 3]
list_2 = [4, 5, 6]
list_3 = []
for index, item in enumerate(list_1):
list_3.append(item + list_2[index])
print(list_3)
输出:
[5, 7, 9]
map()
map() 是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
在交互式环境中输入如下命令:
list_1 = [1, 2, 3]
list_2 = [4, 5, 6]
list_3 = list(map(lambda x, y: x + y, list_1, list_2))
print(list_3)
输出:
[5, 7, 9]
numpy
在交互式环境中输入如下命令:
list_1 = [1, 2, 3]
list_2 = [4, 5, 6]
import numpy as np
list_3 = list(np.add(list_1, list_2))
print(list_3)
输出:
[5, 7, 9]