Python中zip()函数如何实现列表元素配对?
- 内容介绍
- 文章标签
- 相关推荐
本文共计517个文字,预计阅读时间需要3分钟。
一. 定义zip()函数zip()函数用于将可迭代的对象作为参数,将它们组合成一个个元组,然后返回由这些元组组成的迭代器。这样做的优点是节省内存,因为它不会一次性将所有元素加载到内存中,而是按需生成元组。
pythondef zip(*iterables): # 创建一个迭代器,用于生成元组 it=iter(iterables) # 使用zip生成元组,并返回 return zip(*it)
一. 定义
zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少内存
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同
二. 语法
zip([iterable, ...])- 参数:iterable为一个或多个迭代器
- 返回值:返回的是一个对象,可以使用list()转换来输出列表
三. 实例
1. 实例1
>>> a = [1, 2, 3]>>> b = [4, 5, 6]
>>> zip(a, b)
<zip object at 0x0000000003BB4188>
>>> list(zip(a, b))
[(1, 4), (2, 5), (3, 6)]
>>>
>>>
>>> c = [4, 5, 6, 7, 8]
>>> list(zip(a, c))
[(1, 4), (2, 5), (3, 6)]
>>>
2. 实例2
等长的两个列表合并到一个字典:keys = ["A", "B", "C"],values = ["1", "2", "3"],要求:合并成{"A":1, "B":2, "C":3},请用一行代码实现
思路:先利用zip()函数将两个列表打包成一个元组对象,再利用dict来构造字典,因此代码为
print(dict(zip(keys, values)))运行结果:
{'B': '2', 'A': '1', 'C': '3'}
参考文章
www.runoob.com/python3/python3-func-zip.html
www.runoob.com/python/python-func-dict.html
本文共计517个文字,预计阅读时间需要3分钟。
一. 定义zip()函数zip()函数用于将可迭代的对象作为参数,将它们组合成一个个元组,然后返回由这些元组组成的迭代器。这样做的优点是节省内存,因为它不会一次性将所有元素加载到内存中,而是按需生成元组。
pythondef zip(*iterables): # 创建一个迭代器,用于生成元组 it=iter(iterables) # 使用zip生成元组,并返回 return zip(*it)
一. 定义
zip()函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象,这样做的好处是节约了不少内存
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同
二. 语法
zip([iterable, ...])- 参数:iterable为一个或多个迭代器
- 返回值:返回的是一个对象,可以使用list()转换来输出列表
三. 实例
1. 实例1
>>> a = [1, 2, 3]>>> b = [4, 5, 6]
>>> zip(a, b)
<zip object at 0x0000000003BB4188>
>>> list(zip(a, b))
[(1, 4), (2, 5), (3, 6)]
>>>
>>>
>>> c = [4, 5, 6, 7, 8]
>>> list(zip(a, c))
[(1, 4), (2, 5), (3, 6)]
>>>
2. 实例2
等长的两个列表合并到一个字典:keys = ["A", "B", "C"],values = ["1", "2", "3"],要求:合并成{"A":1, "B":2, "C":3},请用一行代码实现
思路:先利用zip()函数将两个列表打包成一个元组对象,再利用dict来构造字典,因此代码为
print(dict(zip(keys, values)))运行结果:
{'B': '2', 'A': '1', 'C': '3'}
参考文章
www.runoob.com/python3/python3-func-zip.html
www.runoob.com/python/python-func-dict.html

