Python中的 zip()函数的用法?
发布时间:2023-06-15 14:49:08
Python的zip()函数是一种内置的函数,可以将两个或多个可迭代对象合并成一个元组列表。这个元组中的每个元素是包含所有可迭代对象中的相应元素的元组。它非常有用,特别是在需要在两个可迭代序列间创建映射关系时。
zip()函数通常用于处理多个列表或元组的元素,例如:用于组合名字和姓氏的两个列表或元组,将两个列表或元组合并成一个字典等。
zip()函数的语法为:zip(*iterables),其中iterables是要合并的任意数量的可迭代对象,*iterables表示一个可变的参数列表,即可以传入任意数量的参数。zip()函数将返回一个迭代器,其中包含元组作为其元素。例如:
names = ['John', 'Mary', 'David']
scores = [70, 85, 90]
for name, score in zip(names, scores):
print(name, score)
输出结果为:
John 70 Mary 85 David 90
这里,names和scores都是可迭代对象。zip()函数将它们合并为一个元组列表,然后使用for循环遍历这个列表,依次输出每个元组的内容。
如果合并的可迭代对象的长度不同,zip()函数会按照最短的可迭代对象的长度截断所有其他的对象,这意味着如果其中一个可迭代对象早于另一个结束,那么zip()函数就停止合并。例如:
names = ['John', 'Mary', 'David', 'Bob']
scores = [70, 85, 90]
for name, score in zip(names, scores):
print(name, score)
输出结果为:
John 70 Mary 85 David 90
这里,names和scores的长度不同,因此zip()函数将按最短长度截断所有其他的对象,并在第三个元素结束后停止合并。
还有一种常见的用法是用zip()函数创建字典。例如:
keys = ['a', 'b', 'c'] values = [10, 20, 30] my_dict = dict(zip(keys, values)) print(my_dict)
输出结果为:
{'a': 10, 'b': 20, 'c': 30}
这里,将两个列表keys和values合并成一个元组列表,然后将这个元组列表用于创建一个字典。zip()函数使得创建这样的映射实现了一种简洁、清晰的方式。
总之,zip()函数是一种非常实用的Python函数,用于将多个可迭代对象合并为一个元组列表,并在许多Python编程场景中非常有用。
