簡單介紹Python中的配對函式zip()

大雄45發表於2023-04-23
導讀 這篇文章主要介紹了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}]

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2945091/,如需轉載,請註明出處,否則將追究法律責任。

相關文章