在 Python 中对两个列表的值求和

在 Python 中对两个列表的值求和

Sum the values of two lists in Python

对两个列表的值求和:

  1. 使用该zip函数获取具有相应项的可迭代元组。
  2. 使用列表理解来迭代可迭代对象。
  3. 将每个元组传递给sum()函数以获得总和。
主程序
list_1 = [1, 2, 3] list_2 = [4, 5, 6] # 👇️ [(1, 4), (2, 5), (3, 6)] print(list(zip(list_1, list_2))) list_3 = [sum(tup) for tup in zip(list_1, list_2)] print(list_3) # 👉️ [5, 7, 9]

zip函数并行迭代多个可迭代对象,并生成元组,其中每个可迭代对象都有一个项目

主程序
list_1 = [1, 2, 3] list_2 = [4, 5, 6] # 👇️ [(1, 4), (2, 5), (3, 6)] print(list(zip(list_1, list_2)))

您可以想象该zip()函数遍历列表,取 1 个项目

列表中的第一个元组由每个列表中索引为0的元素组成,第二个元组由每个列表中索引为 的元素组成1,依此类推。

我们使用列表理解来迭代zip对象。

主程序
list_1 = [1, 2, 3] list_2 = [4, 5, 6] list_3 = [sum(tup) for tup in zip(list_1, list_2)] print(list_3) # 👉️ [5, 7, 9]
列表推导用于对每个元素执行一些操作,或者选择满足条件的元素子集。

sum函数接受一个可迭代对象,从左到右对其项目求和并返回总数。

在每次迭代中,我们将当前元组传递给sum()函数并获得总数。

您还可以使用此方法对两个以上列表的值求和。

主程序
list_1 = [1, 2, 3] list_2 = [4, 5, 6] list_3 = [7, 8, 9] list_4 = [sum(tup) for tup in zip(list_1, list_2, list_3)] print(list_4) # 👉️ [12, 15, 18]

或者,您可以使用该map()功能。

对两个列表的值求和:

  1. 使用方法和列表调用map()函数。operator.add()
  2. 使用list()该类将map对象转换为列表。
主程序
from operator import add list_1 = [1, 2, 3] list_2 = [4, 5, 6] list_3 = list(map(add, list_1, list_2)) print(list_3) # 👉️ [5, 7, 9]

确保从模块导入add()方法。operator

map()函数将一个函数和一个可迭代对象作为参数,并使用可迭代对象的每个项目调用该函数。

operator.add方法a + b同上

您可以想象用两个可迭代对象的每个项目map调用该方法(例如 index 处的项目, then等)。add0 1

map函数返回一个map对象,因此我们不得不使用list()该类将结果转换为列表。

发表评论