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


Posted in Python onDecember 29, 2017

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

以元组为例:

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

总结

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

Python 相关文章推荐
Python单例模式实例分析
Jan 14 Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 Python
Python 删除整个文本中的空格,并实现按行显示
Jul 24 Python
在python中获取div的文本内容并和想定结果进行对比详解
Jan 02 Python
Python 互换字典的键值对实例
Feb 12 Python
python+os根据文件名自动生成文本
Mar 21 Python
树莓派用python中的OpenCV输出USB摄像头画面
Jun 22 Python
利用python实现短信和电话提醒功能的例子
Aug 08 Python
Python MySQL 日期时间格式化作为参数的操作
Mar 02 Python
Python pip install如何修改默认下载路径
Apr 29 Python
Python类super()及私有属性原理解析
Jun 15 Python
Pytorch之Tensor和Numpy之间的转换的实现方法
Sep 03 Python
详解Python异常处理中的Finally else的功能
Dec 29 #Python
Python2.7+pytesser实现简单验证码的识别方法
Dec 29 #Python
Python实现破解12306图片验证码的方法分析
Dec 29 #Python
解决python使用open打开文件中文乱码的问题
Dec 29 #Python
python爬虫获取京东手机图片的图文教程
Dec 29 #Python
python通过getopt模块如何获取执行的命令参数详解
Dec 29 #Python
基于并发服务器几种实现方法(总结)
Dec 29 #Python
You might like
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
星际争霸任务指南——虫族
2020/03/04 星际争霸
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
thinkphp实现上一篇与下一篇的方法
2014/12/08 PHP
PHP用反撇号执行外部命令
2015/04/14 PHP
php使用CURL不依赖COOKIEJAR获取COOKIE的方法
2015/06/17 PHP
win平台安装配置Nginx+php+mysql 环境
2016/01/12 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
YII2框架中使用yii.js实现的post请求
2017/04/09 PHP
JavaScript 通过模式匹配实现重载
2010/08/12 Javascript
轻松创建nodejs服务器(5):事件处理程序
2014/12/18 NodeJs
jQuery多级手风琴菜单实例讲解
2015/10/22 Javascript
学习javascript面向对象 javascript实现继承的方式
2016/01/04 Javascript
jquery表单插件Autotab使用方法详解
2016/06/24 Javascript
JS 获取HTML标签内的子节点的方法
2016/09/21 Javascript
jquery 实现复选框的全选操作实例代码
2017/01/24 Javascript
footer定位页面底部(代码分享)
2017/03/07 Javascript
jquery 一键复制到剪切板的实例
2017/09/20 jQuery
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
element-ui表格列金额显示两位小数的方法
2018/08/24 Javascript
vue实现文字横向无缝走马灯组件效果的实例代码
2019/04/09 Javascript
Python的批量远程管理和部署工具Fabric用法实例
2015/01/23 Python
Python实现求最大公约数及判断素数的方法
2015/05/26 Python
Python的装饰器模式与面向切面编程详解
2015/06/21 Python
python插入排序算法实例分析
2015/07/03 Python
python字典值排序并取出前n个key值的方法
2018/10/17 Python
pycharm重置设置,恢复默认设置的方法
2018/10/22 Python
python 实现矩阵填充0的例子
2019/11/29 Python
Python装饰器用法与知识点小结
2020/03/09 Python
pyecharts动态轨迹图的实现示例
2020/04/17 Python
HTML5进度条特效
2014/12/18 HTML / CSS
英国最大的线上保健品零售商之一:Vitamin Planet
2016/12/01 全球购物
经理秘书岗位职责
2013/11/14 职场文书
工作会议主持词
2014/03/17 职场文书
逃课检讨书
2015/01/26 职场文书
初中生入团申请书范文(五篇)
2019/10/16 职场文书