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

Python的zip()函数教程

发布时间:2023-06-29 06:04:43

zip()函数是Python内置的一个函数,用于将多个可迭代对象打包成一个元组的列表。

zip()函数的基本语法为:

zip(*iterables)

其中,*iterables代表可迭代对象,可以是多个列表、元组、字符串等。

zip()函数的返回值是一个迭代器,每个迭代器元素是由各个可迭代对象相同位置的元素组成的元组。

下面通过例子来更加具体地说明zip()函数的用法和特点。

例子一:合并两个列表

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

result = zip(list1, list2)
print(list(result))

输出结果为:[(1, 'a'), (2, 'b'), (3, 'c')]

在这个例子中,我们将两个列表list1和list2通过zip()函数合并成一个新的列表,新列表中每个元素是原两个列表中相同位置元素组成的元组。

例子二:合并多个列表

list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
list3 = [True, False, True]

result = zip(list1, list2, list3)
print(list(result))

输出结果为:[(1, 'a', True), (2, 'b', False), (3, 'c', True)]

在这个例子中,我们将三个列表list1、list2和list3通过zip()函数合并成一个新的列表,新列表中每个元素是原三个列表中相同位置元素组成的元组。

需要注意的是,如果不同列表长度不一致,zip()函数只会合并相同位置的元素,而忽略掉超出范围的元素。

例子三:解压元组列表

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

list1, list2 = zip(*result)
print(list(list1))
print(list(list2))

输出结果为:

[1, 2, 3]

['a', 'b', 'c']

在这个例子中,我们先通过zip()函数将两个列表合并成一个元组列表,然后再使用zip()函数进行解压,并分别赋值给两个列表list1和list2。

需要注意的是,解压操作要在zip()函数的参数前加上*。

总结:

zip()函数是Python内置的一个非常实用的函数,可以用于将多个可迭代对象打包成一个元组的列表。

zip()函数的返回值是一个迭代器,每个迭代器元素是由各个可迭代对象相同位置的元素组成的元组。

如果不同可迭代对象长度不一致,zip()函数只会合并相同位置的元素,而忽略掉超出范围的元素。

解压操作可以使用zip()函数进行,需要在zip()函数的参数前加上*。