一.两种方法演示
以元组为例
'''
两个等长元组成对求和
'''
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对象