共计 1165 个字符,预计需要花费 3 分钟才能阅读完成。
导读 | 这篇文章主要介绍了 Python 中的配对函数 zip() 解读,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教 |
Python 配对函数 zip()
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')
说说 zip 函数的主要用途
个人理解
zip 函数主要用来将 n 个 list 中相同 location 的元素取出来,组成新的 data
years = [22,23,24]
names = ['hjw','hyr','lyq']
a = zip(names,years)
print(a) #
print(list(a)) # [('hjw', 22), ('hyr', 23), ('lyq', 24)]
data = []
for (year,name) in zip(years,names):
data.append({'name':name,'year':year})
print(data)
# [{'name': 'hjw', 'year': 22}, {'name': 'hyr', 'year': 23}, {'name': 'lyq', 'year': 24}]
正文完
星哥玩云-微信公众号