欢迎访问宙启技术站
智能推送

Python中的zip()函数用法及实例

发布时间:2023-06-03 12:08:49

zip()函数是Python内置函数之一,可以将多个可迭代对象(列表、元组等)中的元素按照索引位置一一对应地打包成一个新的元组,并返回一个可迭代对象。这个可迭代对象可以被转化为列表、元组等其他数据类型。

zip()函数的语法如下:

zip([iterable, ...])

参数说明:

iterable:可迭代对象之一或多个,例如,列表、元组等。

返回值说明:

zip对象:一个可迭代对象,其中的每一项是一个由传入的可迭代对象中所对应位置的元素组成的元组。返回的结果是一个zip对象,需要使用list()、tuple()等函数将其转换为其他数据类型。

在实际开发中,zip()函数可以应用于很多场景,以下是一些常用的实例。

1. 将两个列表打包成一个字典

list1 = ['name','age','gender']

list2 = ['Jack',20,'Male']

dict1 = dict(zip(list1, list2))

print(dict1)

输出结果为:

{'name': 'Jack', 'age': 20, 'gender': 'Male'}

2. 列表内元素进行组合

list1 = ['1', '2', '3', '4']

list2 = ['a', 'b', 'c', 'd']

result = [i+j for i, j in zip(list1, list2)]

print(result)

输出结果为:

['1a', '2b', '3c', '4d']

3. 对多个列表进行排序

list1 = [1,3,5]

list2 = [2,4,6]

result = sorted(zip(list1, list2),key = lambda x:x[0])

print (result)

输出结果为:

[(1, 2), (3, 4), (5, 6)]

4. 解压缩序列

zip函数可以把列表拼接成元组,也可以把元组拆分成列表。

list1= [(1, 'a'), (2, 'b'), (3, 'c')]

list2, list3 = zip(*list1)

print(list2)

print(list3)

输出结果为:

(1, 2, 3)

('a', 'b', 'c')

总结:

zip()函数的运用,为我们的程序设计带来了不少便利。在实际开发过程中,熟练掌握zip()函数的应用场景和使用方法,也可以增强我们的代码效率和开发速度。