有时,在处理记录时,我们可能会遇到一个常见问题,即将一个元组的内容与另一元组的相应索引相加。这几乎适用于我们处理元组记录的所有领域。让我们讨论一下执行此任务的一些方法。
方法#1:使用 map()
+ lambda
结合上述函数可以为我们解决问题。在这里,我们使用 lambda 函数计算总和,并使用 map()
将逻辑扩展到键。
# 用于演示工作原理的 Python3 代码
# 添加元组
# 使用map() + lambda
# 初始化元组
测试_tup1 = (10, 4, 5)
test_tup2 = (2, 5, 18)
# 打印原始元组
print("原始元组 1 : " + str(test_tup1))
print("原始元组 2 : " + str(test_tup2))
# 添加元组
# 使用map() + lambda
res = tuple(map(lambda i, j: i + j, test_tup1, test_tup2))
# 打印结果
print("相加后的结果元组:" + str(res))
原元组1:(10,4,5)
原始元组2:(2,5,18)
加法后的结果元组:(12,9,23)
方法 #2:使用 map() + zip() + sum()
也可以使用上述函数的组合来实现此特定任务。这里我们添加了内置的 sum()
来执行求和,并使用 zip()
压缩相似索引,并使用 map()
扩展逻辑以两个元组。
# 用于演示工作原理的 Python3 代码
# 添加元组
# 使用map() + zip() + sum()
# 初始化元组
测试_tup1 = (10, 4, 5)
test_tup2 = (2, 5, 18)
# 打印原始元组
print("原始元组 1 : " + str(test_tup1))
print("原始元组 2 : " + str(test_tup2))
# 添加元组
# 使用map() + zip() + sum()
res = 元组(地图(总和, zip(test_tup1, test_tup2)))
# 打印结果
print("相加后的结果元组:" + str(res))
原始元组 1 : (10, 4, 5)
原始元组 2 : (2, 5, 18)
加法后的结果元组:(12,9,23)