zip()函数用于将多个可迭代对象中的元素按顺序一一对应打包成一个个元组,返回一个可迭代的zip对象。
函数语法
zip(*iterables)
其中,*iterables表示多个可迭代对象,可以是列表、元组、集合等等。
zip() 函数示例
将多个列表打包成一个元组列表:
list1 = ['x', 'y', 'z']
list2 = [1, 2, 3]
list3 = ['a','b','c']
print(list(zip(list1)))
print(list(zip(list1,list2)))
print(list(zip(list1,list2,list3)))
[('x',), ('y',), ('z',)]
[('x', 1), ('y', 2), ('z', 3)]
[('x', 1, 'a'), ('y', 2, 'b'), ('z', 3, 'c')]
遍历zip对象:
list1 = ['a', 'b', 'c']
list2 = [1, 2, 3]
# 返回zip对象是一个迭代器
for char, number in zip(list1, list2):
print(char,number)
# 输出
# a 1
# b 2
# c 3
使用*运算符解压元组列表:
pairs = [('a', 1), ('b', 2), ('c', 3)]
chars, numbers = zip(*pairs)
print(chars) # ('a', 'b', 'c')
print(numbers) # (1, 2, 3)