python 两个等长元组/列表如何成对求和

本文介绍了如何在Python中对等长元组或列表进行成对求和,详细阐述了zip函数的使用特性,并提供了一个旅行者移动位置的例子,利用reduce函数和元组求和来计算最终位置。移动路线如:[(1,2),(3,-5),(-4,-8),(12,6)]。" 112125943,10537154,使用VirtualBox搭建Consul三节点服务器集群,"['bootstrap dns 服务器', 'Consul', '集群', '服务器搭建']
摘要由CSDN通过智能技术生成

一.两种方法演示

以元组为例

'''
两个等长元组成对求和
'''
t1 = (4,6,-2,-20)
t2 = (-7,-4,11,12)

#方法1.
# 1)返回zip object,拿到[(4, -7), (6, -4), (-2, 11), (-20, 12)] 
r1 = zip(t1,t2)
# for item in r1:
#     print(item)
print(r1)
print(list(r1))

#2)拿到(-3, 2, 9, -8)
r2 = tuple(i + j for i,j in zip(t1,t2))
print(r2)

#方法2 
# 1)lambda表达式和map  返回map object
r3 = map(lambda x,y : x + y,t1,t2)
print(r3)
print(list(r3))
#zip函数的返回值,是个“阅后即焚”的迭代器,再次访问会出现空
#print(tuple(r3))
print(tuple(map(lambda x,y : x + y,t1,t2)))

二.关于zip

1)string对象,list对象,tuple对象在Python中都是可迭代的,都可以作为zip函数的参数来使用
2)zip函数,如果参数中的可迭代对象长度不相同,那么就以长度最短的为准,舍弃超长的那部分
3)zip函数的返回值,是个“阅后即焚”的迭代器,只可以迭代遍历一次,再次遍历将为空
4)可以通过list或者tuple或者for循环遍历zip对象

三.成对求和的应用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值