在 Python 中按元素添加两个元组
Add two tuples element-wise in Python
按元素添加两个元组:
- 使用该
zip
函数获取具有相应项的可迭代元组。 - 使用列表理解来迭代可迭代对象。
- 在每次迭代中,将元组传递给
sum()
函数。
主程序
tuple_1 = (1, 2, 3) tuple_2 = (4, 5, 6) # 👇️ [(1, 4), (2, 5), (3, 6)] print(list(zip(tuple_1, tuple_2))) result = [sum(tup) for tup in zip(tuple_1, tuple_2)] print(result) # 👉️ [5, 7, 9]
zip函数并行迭代多个可迭代对象,并生成元组,其中每个可迭代对象都有一个项目。
主程序
tuple_1 = (1, 2, 3) tuple_2 = (4, 5, 6) # 👇️ [(1, 4), (2, 5), (3, 6)] print(list(zip(tuple_1, tuple_2)))
您可以想象该zip()
函数遍历元组,从每个元组中取 1 个项目。
列表中的第一个元组由每个元组中索引为
0
的元素组成,第二个元组由每个元组中索引为 的元素组成1
。最后一步是使用列表理解来迭代zip
对象并对每个元组求和。
主程序
tuple_1 = (1, 2, 3) tuple_2 = (4, 5, 6) # 👇️ [(1, 4), (2, 5), (3, 6)] print(list(zip(tuple_1, tuple_2))) result = [sum(tup) for tup in zip(tuple_1, tuple_2)] print(result) # 👉️ [5, 7, 9]
列表推导用于对每个元素执行一些操作,或者选择满足条件的元素子集。
sum函数接受一个可迭代对象,从左到右对其项目求和并返回总数。
在每次迭代中,我们将当前元组传递给sum()
函数并获得总数。
您还可以使用这种方法按元素添加两个以上的元组。
主程序
tuple_1 = (1, 2, 3) tuple_2 = (4, 5, 6) tuple_3 = (7, 8, 9) # 👇️ [(1, 4, 7), (2, 5, 8), (3, 6, 9)] print(list(zip(tuple_1, tuple_2, tuple_3))) result = [sum(tup) for tup in zip(tuple_1, tuple_2, tuple_3)] print(result) # 👉️ [12, 15, 18]