当前位置 : 主页 > 编程语言 > python >

Python中的配对函数zip()解读

来源:互联网 收集:自由互联 发布时间:2023-01-30
目录 Python配对函数zip() 1、zip将列表、元组或其他序列的元素进行配对 2、zip的常用场景为同时遍历多个序列 3、对于已配对的序列 说说zip函数的主要用途 个人理解 Python配对函数zip()
目录
  • Python配对函数zip()
    • 1、zip将列表、元组或其他序列的元素进行配对
    • 2、zip的常用场景为同时遍历多个序列
    • 3、对于已“配对”的序列
  • 说说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}]

以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

上一篇:Python学习之字典和集合的使用详解
下一篇:没有了
网友评论