使用Python将数组的元素导出到变量中(unpacking)


Posted in Python onOctober 27, 2016

解决的问题

需要将数组(list)或元组(tuple)中的元素导出到N个变量中。

解决的方案

任何序列都可以通过简单的变量赋值方式将其元素分配到对应的变量中,唯一的要求就是变量的数量和结构需要和序列中的结构完全一致。

p = (1, 2)
x, y = p
# x = 1
# y = 2

data = ['google', 100.1, (2016, 5, 31)]
name, price, date = data
# name = 'google'
# price = 100.1
# date = (2016, 5, 31)

name, price, (year, month, day) = data
# name = 'google'
# price = 100.1
# year = 2016
# month = 5
# day = 31

如果变量结构和元素结构不一致,你将会遇到以下错误:

p = (1, 2)
x, y, z = p

Traceback (most recent call last):
 File "<pyshell#12>", line 1, in <module>
  x, y, z = p
ValueError: not enough values to unpack (expected 3, got 2)

其实这样的操作不限于元组和数组,在字符串中也是可以用的。Unpacking支持大多数我们常见的序列,比如文件迭代,各种生成器等等。

s = 'Hello'
a,b,c,d,e = s
# a = 'H'
# b = 'e'

如果导出过程中你想丢掉一些元素,其实Python并不支持这样的语法,不过你可以指定一些不常用的变量来达到你的目的。

data = ['google', 100.1, (2016, 5, 31)]
name, _, (_,month,_) = data
# name = 'google'
# month = '5'
# other fileds will be discarded

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能有所帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
python logging类库使用例子
Nov 22 Python
开始着手第一个Django项目
Jul 15 Python
Python在线运行代码助手
Jul 15 Python
mysql 之通过配置文件链接数据库
Aug 12 Python
AI人工智能 Python实现人机对话
Nov 13 Python
TensorFlow实现简单卷积神经网络
May 24 Python
Django 权限认证(根据不同的用户,设置不同的显示和访问权限)
Jul 24 Python
python3 深浅copy对比详解
Aug 12 Python
Python爬虫入门有哪些基础知识点
Jun 02 Python
python中time包实例详解
Feb 02 Python
matplotlib部件之套索Lasso的使用
Feb 24 Python
关于Python中进度条的六个实用技巧分享
Apr 05 Python
Python中断言Assertion的一些改进方案
Oct 27 #Python
利用Python实现颜色色值转换的小工具
Oct 27 #Python
Python实现批量检测HTTP服务的状态
Oct 27 #Python
python解决网站的反爬虫策略总结
Oct 26 #Python
Python控制多进程与多线程并发数总结
Oct 26 #Python
Python网络爬虫项目:内容提取器的定义
Oct 25 #Python
Python实现ssh批量登录并执行命令
Oct 25 #Python
You might like
PHP四舍五入精确小数位及取整
2014/01/14 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
避免Smarty与CSS语法冲突的方法
2015/03/02 PHP
PHP 微信扫码支付源代码(推荐)
2016/11/03 PHP
基于Codeigniter框架实现的student信息系统站点动态发布功能详解
2017/03/23 PHP
PHPStudy下如何为Apache安装SSL证书的方法步骤
2019/01/23 PHP
子页向父页传值示例
2013/11/27 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
2015/11/25 Javascript
Extjs实现下拉菜单效果
2016/04/01 Javascript
使用jQuery处理AJAX请求的基础学习教程
2016/05/10 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
解决nodejs中使用http请求返回值为html时乱码的问题
2017/02/18 NodeJs
原生JS实现的多个彩色小球跟随鼠标移动动画效果示例
2018/02/01 Javascript
微信小程序 wepy框架与iview-weapp的用法详解
2019/04/10 Javascript
详解从0开始搭建微信小程序(前后端)的全过程
2019/04/15 Javascript
在LayUI图片上传中,解决由跨域问题引起的请求接口错误的方法
2019/09/24 Javascript
layui table单元格事件修改值的方法
2019/09/24 Javascript
[01:08]2014DOTA2展望TI 剑指西雅图LGD战队专访
2014/06/30 DOTA
Python Property属性的2种用法
2015/06/21 Python
python中返回矩阵的行列方法
2018/04/04 Python
Python3使用turtle绘制超立方体图形示例
2018/06/19 Python
python使用yield压平嵌套字典的超简单方法
2019/11/02 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
Django搭建项目实战与避坑细节详解
2020/12/06 Python
巴基斯坦电子产品购物网站:Home Shopping
2017/09/14 全球购物
Herve Leger官网:标志性绷带连衣裙等
2018/12/26 全球购物
建筑人员岗位职责
2013/12/25 职场文书
企业安全生产承诺书
2014/05/22 职场文书
合作协议书范文
2014/08/20 职场文书
办公室主任个人对照检查材料思想汇报
2014/10/11 职场文书
2014年维稳工作总结
2014/11/18 职场文书
2014年幼儿园老师工作总结
2014/12/05 职场文书
幼儿园推普周活动总结
2015/05/07 职场文书
教务处干事工作总结
2015/08/14 职场文书
数据结构课程设计心得体会
2016/01/15 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers