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

拆包是指将一个结构中的数据拆分为多个单独变量中。下面通过本文给大家介绍python 拆包可迭代数据如tuple, list的相关资料,需要的朋友参考下吧

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

以元组为例:

 >>> 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 "", line 1, in  _, price, (*_, m, d) =a ValueError: too many values to unpack (expected 3)

总结

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

以上就是详解python 拆包可迭代数据如tuple, list的详细内容,更多请关注0133技术站其它相关文章!

赞(0) 打赏
未经允许不得转载:0133技术站首页 » python