zip()函数用来把多个可迭代对象中的元素压缩到一起,返回一个可迭代的zip对象,其中每个元素都是包含原来的多个可迭代对象对应位置上元素的元组,最终结果中包含的元素个数取决于所有参数序列或可迭代对象中最短的那个,可以这样理解这个函数,把多个序列或可迭代对象中的所有元素左对齐,然后像拉拉链一样往右拉,把所经过的每个序列中相同位置上的元素都放到一个元组中,只要有一个序列中的所有元素都处理完了就不再拉拉链了,返回包含若干个元组的zip对象
>>> list(zip('abcd',[1,2,3]))
[('a', 1), ('b', 2), ('c', 3)]
>>> list(zip('abcd'))
[('a',), ('b',), ('c',), ('d',)]
>>> list(zip('123','abc',',.! '))
[('1', 'a', ','), ('2', 'b', '.'), ('3', 'c', '!')]
>>> for item in zip('abcd',range(3)):
... print(item)
...
('a', 0)
('b', 1)
('c', 2)
>>> x = zip('abcd','1234')
>>> list(x)
[('a', '1'), ('b', '2'), ('c', '3'), ('d', '4')]
>>> list(x)
[]