使用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利用Nagios增加微信报警通知的功能
Feb 18 Python
pandas进行数据的交集与并集方式的数据合并方法
Jun 27 Python
Python实现微信消息防撤回功能的实例代码
Apr 29 Python
pandas计算最大连续间隔的方法
Jul 04 Python
python+logging+yaml实现日志分割
Jul 22 Python
python中open函数的基本用法示例
Sep 07 Python
python rsa实现数据加密和解密、签名加密和验签功能
Sep 18 Python
简单了解python元组tuple相关原理
Dec 02 Python
将python依赖包打包成window下可执行文件bat方式
Dec 26 Python
Python数据可视化处理库PyEcharts柱状图,饼图,线性图,词云图常用实例详解
Feb 10 Python
利用python汇总统计多张Excel
Sep 22 Python
基于python模拟TCP3次握手连接及发送数据
Nov 06 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
Admin generator, filters and I18n
2011/10/06 PHP
PHP设计模式之观察者模式(Observer)详细介绍和代码实例
2014/04/08 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
2015/03/04 PHP
PHP socket 模拟POST 请求实例代码
2016/07/18 PHP
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
editable.js 基于jquery的表格的编辑插件
2011/10/24 Javascript
JQuery 常用方法和事件详细介绍
2013/04/18 Javascript
Node.js中的模块机制学习笔记
2014/11/04 Javascript
javascript arguments使用示例
2014/12/16 Javascript
js根据鼠标移动速度背景图片自动旋转的方法
2015/02/28 Javascript
jsMind通过鼠标拖拽的方式调整节点位置
2015/04/13 Javascript
cnpm加速Angular项目创建的方法
2018/09/07 Javascript
nodejs使用async模块同步执行的方法
2019/03/02 NodeJs
layer关闭弹出窗口触发表单提交问题的处理方法
2019/09/25 Javascript
利用layer实现表单完美验证的方法
2019/09/26 Javascript
js实现九宫格布局效果
2020/05/28 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
python启动办公软件进程(word、excel、ppt、以及wps的et、wps、wpp)
2009/04/09 Python
PyQt5每天必学之工具提示功能
2018/04/19 Python
多个应用共存的Django配置方法
2018/05/30 Python
基于python log取对数详解
2018/06/08 Python
python实现合并两个排序的链表
2019/03/03 Python
使用pip安装python库的多种方式
2019/07/31 Python
python set集合使用方法解析
2019/11/05 Python
Python argparse模块应用实例解析
2019/11/15 Python
解决Keras 与 Tensorflow 版本之间的兼容性问题
2020/02/07 Python
Python调用飞书发送消息的示例
2020/11/10 Python
Linux管理员面试经常问道的相关命令
2013/04/29 面试题
LINUX下线程,GDI类的解释
2016/12/14 面试题
大学生社会实践方案
2014/05/11 职场文书
公安个人四风问题对照检查及整改措施
2014/10/28 职场文书
2014年干部培训工作总结
2014/12/17 职场文书
赤壁观后感(2)
2015/06/15 职场文书
七年级作文之秋游
2019/10/21 职场文书
python 中的jieba分词库
2021/11/23 Python
一文搞懂PHP中的抽象类和接口
2022/05/25 PHP