python range() zip()

本文介绍了Python2和Python3中range()函数的区别,Python3的range()返回一个可迭代对象,节省内存。同时讲解了zip()函数的用法,它将多个迭代器元素打包成元组,并在元素个数不一致时以最短对象为准。在Python3中,zip()返回的对象需要通过list()转换为列表。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

range() python2返回的是一个列表 如果需要创建的列表很大 就需要很大的内存空间

range() python3返回的是一个可以迭代对象 什么时候需要 什么时候计算


zip() 函数用于将可迭代的对象作为参数 将对象中对应的元素打包成一个个元组 然后返回由这些元组组成的列表

如果各个迭代器的元素个数不一致 则返回列表长度与最短的对象相同 利用 * 号操作符 可以将元组解压为列表

zip 方法在Python2 和 Python3中的不同:在 Python3中为了减少内存,zip() 返回的是一个对象 如需展示列表,需手动 list() 转换

>>>a = [1,2,3]
>>> b = [4,5,6]
>>> c = [4,5,6,7,8]
>>> zipped = zip(a,b)     # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]
>>> zip(a,c)              # 元素个数与最短的列表一致
[(1, 4), (2, 5), (3, 6)]
>>> zip(*zipped)          # 与 zip 相反,*zipped 可理解为解压,返回二维矩阵式
[(1, 2, 3), (4, 5, 6)]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值