加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-17 07:37:17 所属栏目:Python 来源:网络整理
导读:拆包是指将一个结构中的数据拆分为多个单独变量中。 以元组为例: a = ('windows',10,25.1,(2017,12,29)) 假设数据的意思是购买windows 10 份, 每份价值25.1刀。数据获取时间是2017年12月29日。 我们需要获取该数据中每份的价格: a[2] 也可以使用拆包的方

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

以元组为例:

>>> 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。

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

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

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

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

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

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

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

ValueError: too many values to unpack

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

总结

以上所述是小编给大家介绍的python 拆包可迭代数据如tuple,list,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程小技巧网站的支持!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读