1、zip将列表、元组或其他序列的元素进行配对,新建成一个元组构成的列表,它生成列表长度由最短的序列决定:
#zip
seq1=['foo','bar','baz']
seq2=['one','two','three']
zipped=zip(seq1,seq2)
list(zipped)
>>>
>[('foo', 'one'), ('bar', 'two'), ('baz', 'three')]
seq3=[True,False]
zipped2=zip(seq1,seq2,seq3)
list(zipped2)
>>>
>
[('foo', 'one', True), ('bar', 'two', False)]
2、zip的常用场景为同时遍历多个序列,有时和enumerate搭配使用:
mapping={}
for i,(a,b) in enumerate(zip(seq1,seq2)):
print('{0},{1},{2}'.format(i,a,b))
mapping[i]=(a,b)
print(mapping)
>>>
>0,foo,one
1,bar,two
2,baz,three
{0: ('foo', 'one'), 1: ('bar', 'two'), 2: ('baz', 'three')}
3、对于已“配对”的序列,利用zip函数进行拆分
pitchers=[('a','1'),('b','2'),('c','3')]
first_names,last_names=zip(*pitchers)
print(first_names,last_names)
>>>
>('a', 'b', 'c') ('1', '2', '3')
本文介绍了Python的zip函数,用于将多个序列元素配对,生成元组组成的列表。内容涵盖zip的基本用法,包括如何根据最短序列确定列表长度,以及在遍历多个序列时的常见应用。此外,还提及zip与enumerate结合使用的情况,以及如何利用zip进行已配对序列的拆分操作。
313

被折叠的 条评论
为什么被折叠?



