zip对象
zip(列表1,列表2,列表3,......)将多个列表对应位置的元素合成元组,并返回这个zip对象。
a=[1,3,4,5]
b=[11,33,44,55]
c=[22,33,44,66]
d=zip(a,b,c)
print(d) #直接输出返回zip对象
>>><zip object at 0x000001C52F4AE508>
print(list(d)) #输出列表转化对象包含元组,这是列表,也可以是tuple(d)
>>>[(1, 11, 22), (3, 33, 33), (4, 44, 44), (5, 55, 66)]
*迭代器只能用一次,相当于是以时间换空间,返回迭代器包含一个指针。这个跟reversed()返回迭代器(逆序排序)性质几乎是一样的,再次继续转化将返回空。
zip()并行迭代
我们可以通过zip()函数对多个序列进行并行迭代,zip()函数在最短序列“用完”时就停止。
#测试zip()并行迭代
names=["张三","李四","王五","赵六"]
ages=[18,19,35,40]
jobs=["老师","程序猿","老总"]
for name,age,job in zip(names,ages,jobs):
print("{}-{}-{}".format(name,age,job))
>>>
张三-18-老师
李四-19-程序猿
王五-35-老总