使用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 相关文章推荐
Win10下Python环境搭建与配置教程
Nov 18 Python
Python结合ImageMagick实现多张图片合并为一个pdf文件的方法
Apr 24 Python
利用Python读取txt文档的方法讲解
Jun 23 Python
Python read函数按字节(字符)读取文件的实现
Jul 03 Python
Mac在python3环境下安装virtualwrapper遇到的问题及解决方法
Jul 09 Python
Python3 字典dictionary入门基础附实例
Feb 10 Python
Python random库使用方法及异常处理方案
Mar 02 Python
Python开发之身份证验证库id_validator验证身份证号合法性及根据身份证号返回住址年龄等信息
Mar 20 Python
python3中的logging记录日志实现过程及封装成类的操作
May 12 Python
使用Keras中的ImageDataGenerator进行批次读图方式
Jun 17 Python
Python-openCV开运算实例
Jul 05 Python
Django+Uwsgi+Nginx如何实现生产环境部署
Jul 31 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
在JavaScript中调用php程序
2009/03/09 PHP
PHP运行模式汇总
2016/11/06 PHP
PHP生成各种随机验证码的方法总结【附demo源码】
2017/06/05 PHP
实例讲解YII2中多表关联的使用方法
2017/07/21 PHP
Thinkphp5+uploadify实现的文件上传功能示例
2018/05/26 PHP
javascript入门基础之私有变量
2010/02/23 Javascript
JavaScript sub方法入门实例(把字符串显示为下标)
2014/10/17 Javascript
JS实现仿QQ聊天窗口抖动特效
2015/05/10 Javascript
JavaScript访问字符串中单个字符的两种方法
2015/07/03 Javascript
jquery.serialize() 函数语法及简单实例
2016/07/08 Javascript
如何实现json数据可视化详解
2016/11/24 Javascript
Bootstrap文件上传组件之bootstrap fileinput
2016/11/25 Javascript
Node.js 8 中的 util.promisify的详解
2017/06/12 Javascript
Bootstrap模态框插入视频的实现代码
2017/06/25 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
详解vue-video-player使用心得(兼容m3u8)
2019/08/23 Javascript
[30:55]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第二场 11.18
2020/11/18 DOTA
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
Python如何为图片添加水印
2016/11/25 Python
json跨域调用python的方法详解
2017/01/11 Python
Python中static相关知识小结
2018/01/02 Python
python实现内存监控系统
2021/03/07 Python
python处理两种分隔符的数据集方法
2018/12/12 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
Python生成并下载文件后端代码实例
2020/08/31 Python
马来西亚太阳镜、眼镜和隐形眼镜网上商店:Focus Point
2018/12/13 全球购物
Hush Puppies澳大利亚官网:舒适的男女休闲和正装鞋
2019/08/24 全球购物
锐步英国官网:Reebok英国
2019/11/29 全球购物
留学推荐信中文范文三篇
2014/01/25 职场文书
航海技术专业毕业生推荐信
2014/07/09 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
数学教师个人总结
2015/02/06 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
蓝天保卫战收官在即 :15行业将开展环保分级评价
2019/07/19 职场文书
详解分布式系统中如何用python实现Paxos
2021/05/18 Python
MySQL派生表联表查询实战过程
2022/03/20 MySQL