使用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静态方法实例
Jan 14 Python
Python中使用ElementTree解析XML示例
Jun 02 Python
Python匹配中文的正则表达式
May 11 Python
Python 专题四 文件基础知识
Mar 20 Python
python判断字符串是否是json格式方法分享
Nov 07 Python
Python实现读取及写入csv文件的方法示例
Jan 12 Python
python 3调用百度OCR API实现剪贴板文字识别
Sep 04 Python
ipython和python区别详解
Jun 26 Python
python单元测试框架pytest的使用示例
Oct 07 Python
Python特殊属性property原理及使用方法解析
Oct 09 Python
python使用torch随机初始化参数
Mar 22 Python
PYTHON基于Pyecharts绘制常见的直角坐标系图表
Apr 28 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验证session无效的解决方法
2014/11/04 PHP
解决php extension 加载顺序问题
2019/08/16 PHP
PHP文件打开关闭及读写操作示例解析
2020/08/06 PHP
麦鸡的TAB切换功能结合了javascript和css
2007/12/17 Javascript
javascript eval和JSON之间的联系
2009/12/31 Javascript
javascript 匿名函数的理解(透彻版)
2010/01/28 Javascript
不提示直接关闭网页窗口的JS示例代码
2013/12/17 Javascript
node.js中的fs.chmodSync方法使用说明
2014/12/18 Javascript
JavaScript操作Oracle数据库示例
2015/03/06 Javascript
JavaScript生成福利彩票双色球号码
2015/05/15 Javascript
深入学习JavaScript中的Rest参数和参数默认值
2015/07/28 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
基于JavaScript实现一定时间后去执行一个函数
2015/12/14 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
详解jQuery中的DOM操作
2016/12/23 Javascript
JavaScript选取(picking)和反选(rejecting)对象的属性方法
2017/08/16 Javascript
webstorm和.vue中es6语法报错的解决方法
2018/05/08 Javascript
详解react阻止无效重渲染的多种方式
2018/12/11 Javascript
vue 实现强制类型转换 数字类型转为字符串
2019/11/07 Javascript
vue绑定数字类型 value为数字的实例
2020/08/31 Javascript
VUE子组件向父组件传值详解(含传多值及添加额外参数场景)
2020/09/01 Javascript
[49:41]NB vs NAVI Supermajor小组赛A组 BO3 第一场 6.2
2018/06/03 DOTA
python爬虫headers设置后无效的解决方法
2017/10/21 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
python实现随机调用一个浏览器打开网页
2018/04/21 Python
浅谈python 读excel数值为浮点型的问题
2018/12/25 Python
简单了解Python3 bytes和str类型的区别和联系
2019/12/19 Python
Pycharm github配置实现过程图解
2020/10/13 Python
在网上学习全世界最好的课程:Coursera
2017/11/07 全球购物
美国体育用品在线:Modell’s Sporting Goods
2018/06/07 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
法律六进活动方案
2014/03/13 职场文书
学生检讨书怎么写
2015/05/07 职场文书
活动宣传稿范文
2015/07/23 职场文书
婚礼领导致辞大全
2015/07/28 职场文书
nginx lua 操作 mysql
2022/05/15 Servers