zip()函数:
zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。
| zip 方法在 Python 2 和 Python 3 中的不同:在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。 |
| |
| 如果需要了解 Pyhton3 的应用,可以参考 Python3 zip()。 |
两列表对应元素相加形成新列表:
实例:
| >>>a = [1, 2] |
| >>>b = [3, 4] |
| #列表生成式 |
| >>>c = [i + j for i, j in zip(a, b)] |
| [4, 6] |
打包为元组的列表:
| >>>a = [1,2,3] |
| >>> b = [4,5,6] |
| >>> c = [4,5,6,7,8] |
| |
| >>> zipped = list(zip(a,b)) # 打包为元组的列表 |
| [(1, 4), (2, 5), (3, 6)] |
| |
| >>> list(zip(a,c)) # 元素个数与最短的列表一致 |
| [(1, 4), (2, 5), (3, 6)] |
| |
| >>>print(*zipped) |
| (1, 4) (2, 5) (3, 6) |
| >>> list(zip(*zipped)) # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式 |
| [(1, 2, 3), (4, 5, 6)] |
将两个列表转换为字典:
| 现有2个列表 |
| |
| keys = ['name', 'age', 'food'] |
| values = ['Monty', 42, 'spam'] |
| 需要将转换为字典,结果如下: |
| |
| a_dict = {'name' : 'Monty', 'age' : 42, 'food' : 'spam'} |
| 那么最简单的方法是什么呢? |
完整代码
| keys = ['name', 'age', 'food'] |
| values = ['Monty', 42, 'spam'] |
| a_dict = dict(zip(keys, values)) |
| print(a_dict) |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步