目录
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}]
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
© 版权声明
THE END
暂无评论内容