Python的zip()函数教程
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()函数的参数前加上*。
