Python 中列表的总和列表

Python 中的列表总和

Sum list of lists in Python

汇总列表列表:

  1. 使用该zip函数获取具有相应项的元组的迭代器。
  2. 使用列表理解来迭代可迭代对象。
  3. 在每次迭代中,将元组传递给sum()函数。
主程序
list_of_lists = [[1, 2], [3, 4], [5, 6]] # 👇️ [(1, 3, 5), (2, 4, 6)] print(list(zip(*list_of_lists))) result = [sum(l) for l in zip(*list_of_lists)] print(result) # 👉️ [9, 12]

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

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

我们使用可迭代解包运算符在函数*调用中解包嵌套列表。zip()

主程序
list_of_lists = [[1, 2], [3, 4], [5, 6]] # 👇️ [1, 2] [3, 4] [5, 6] print(*list_of_lists)

*迭代解包运算符
使我们能够在函数调用、推导式和生成器表达式中解包可迭代对象。

您可以想象该zip()函数遍历嵌套列表,从每个列表中取出一项。

主程序
list_of_lists = [[1, 2], [3, 4], [5, 6]] # 👇️ [(1, 3, 5), (2, 4, 6)] print(list(zip(*list_of_lists)))
列表中的第一个元组由每个嵌套列表中索引为0的元素组成,第二个元组由每个嵌套列表中索引为 的元素组成1

最后一步是使用列表理解来迭代zip对象并对每个元组求和。

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

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

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

您可以将此方法用于存储任意长度的嵌套列表的列表。

主程序
list_of_lists = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] # 👇️ [(1, 4, 7), (2, 5, 8), (3, 6, 9)] print(list(zip(*list_of_lists))) result = [sum(l) for l in zip(*list_of_lists)] print(result) # 👉️ [12, 15, 18]

发表评论