这篇文章主要介绍“Python中的配对函数zip()怎么使用”,在日常操作中,相信很多人在Python中的配对函数zip()怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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) # <zip object at 0x000001A69F80F0C0> 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}]