zip函数的原型为:zip([iterable, …])
zip()是Python的一个内建函数,它接受一系列可迭代的对象作为参数,将对象中对应的元素打包成一个个tuple(元组),然后返回由这些tuples组成的list(列表)。若传入参数的长度不等,则返回list的长度和参数中长度最短的对象相同。也就是说,该函数返回一个以元组为元素的列表,其中第 i 个元组包含每个参数序列的第 i 个元素。返回的列表长度被截断为最短的参数序列的长度。只有一个序列参数时,它返回一个1元组的列表。没有参数时,它返回一个空的列表。利用*号操作符,可以将list unzip(解压).
- 把两个列表转化为一个列表,以元组为元素
seq = ['one', 'two', 'three'] seq1=[1,2,3] seq3=[4,5,6] list(zip(seq,seq1)) out: [('one', 1), ('two', 2), ('three', 3)]
- 还可以这样转化,每个列表为一个元素:
-
zz=zip(seq,seq1) list(zip(*zz))
out:[('one', 'two', 'three'), (1, 2, 3)]
- 把两个列表转化为一个字典
dict(zip(seq,seq1)) out: {'one': 1, 'three': 3, 'two': 2}