从tuple(元组)返回两个list

本文探讨了Python2与Python3在将元组列表转换为两个独立列表时的不同表现。在Python2中,使用zip(*c)可以直接得到所需结果;而在Python3中,由于zip返回的是迭代器,需要先转换为list。这一变化体现了Python3对内存管理的改进。

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

今天遇到从tuple 到两个list的问题,python2 与python3有区别

python 2
c = [(1, 2), (2, 4), (3, 5)]
print(zip(*c))

a,b = zip(*c)
print(list(a))
print(list(b))
output
[(1, 2, 3), (2, 4, 5)]
[1, 2, 3]
[2, 4, 5]
思考:

在python 2下,使用zip(*c)可以返回 [(1, 2, 3), (2, 4, 5)],从而提取list中两个item值,分别转换为list即可

python 3
c = [(1, 2), (2, 4), (3, 5)]
print(zip(*c))
print(list(zip(*c)))
output
<zip object at 0x7f72349eb3c8>
[(1, 2, 3), (2, 4, 5)]

思考:

由于python3 中zip返回为 zip 对象,因此需要首先把object转换为list

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值