欢迎来到代码驿站!

Python代码

当前位置:首页 > 软件编程 > Python代码

详解python 拆包可迭代数据如tuple, list

时间:2021-03-11 10:04:48|栏目:Python代码|点击:

拆包是指将一个结构中的数据拆分为多个单独变量中。

以元组为例:

>>> a = ('windows', 10, 25.1, (2017, 12, 29))

假设数据的意思是购买windows 10 份, 每份价值25.1刀。数据获取时间是2017年12月29日。

我们需要获取该数据中每份的价格:

>>> a[2]

也可以使用拆包的方法:

>>>os_type, number, price, dat = a
>>>price

注意的问题拆包对象必须是可迭代的比如tuple和list。

第二个问题:我们只关心价格和日期,不关心系统和数量:

用一个不使用的变量,然后通过适配符号*,统配前两项。

>>> *_, price, dat = a
>>> price
>>>dat

第三个问题,如果我们只关心价格和月份,如何解开包?

>>> *_, price, (_, m, d) = a
>>> price
>>> m

注意解包在python中都支持,但是使用*统配多个数值python3中开始支持。所以使用*时候注意python版本信息。

问题: 如果左边和右边个数不匹配,没有使用*,结果会是什么:

ValueError: too many values to unpack

>>> _, price, (*_, m, d) =a
Traceback (most recent call last):
 File "<pyshell#10>", line 1, in <module>
 _, price, (*_, m, d) =a
ValueError: too many values to unpack (expected 3)

总结

上一篇:python3 使用traceback定位异常实例

栏    目:Python代码

下一篇:python/sympy求解矩阵方程的方法

本文标题:详解python 拆包可迭代数据如tuple, list

本文地址:http://www.codeinn.net/misctech/78287.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有