使用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编写简单的HTML页面合并脚本
Jul 11 Python
python学习必备知识汇总
Sep 08 Python
Python补齐字符串长度的实例
Nov 15 Python
python安装scipy的方法步骤
Jun 26 Python
详解Python并发编程之从性能角度来初探并发编程
Aug 23 Python
django实现用户注册实例讲解
Oct 30 Python
python+opencv边缘提取与各函数参数解析
Mar 09 Python
python3 简单实现组合设计模式
Jul 02 Python
python实现测试工具(一)——命令行发送get请求
Oct 19 Python
python读取图片颜色值并生成excel像素画的方法实例
Feb 19 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
Mar 03 Python
PyQt 如何创建自定义QWidget
Mar 24 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
DOTA2 玩家自创拉野攻略 特色英雄快速成长篇
2020/04/20 DOTA
PHP中创建和编辑Excel表格的方法
2018/09/13 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
Laravel获取所有的数据库表及结构的方法
2019/10/10 PHP
为JavaScript类型增加方法的实现代码(增加功能)
2011/12/29 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
iframe中使用jquery进行查找的方法【案例分析】
2016/06/17 Javascript
jQuery实现磁力图片跟随效果完整示例
2016/09/16 Javascript
微信小程序模板之分页滑动栏
2017/02/10 Javascript
jQuery实现的简单在线计算器功能
2017/05/11 jQuery
简单谈谈js的数据类型
2017/09/25 Javascript
小程序实现留言板
2018/11/02 Javascript
示例vue 的keep-alive缓存功能的实现
2018/12/13 Javascript
JavaScript实现图片轮播特效
2019/10/23 Javascript
JS 数组和对象的深拷贝操作示例
2020/06/06 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
Python字符串格式化输出方法分析
2016/04/13 Python
发布你的Python模块详解
2016/09/15 Python
利用selenium 3.7和python3添加cookie模拟登陆的实现
2017/11/20 Python
Python的条件锁与事件共享详解
2019/09/12 Python
解决python虚拟环境切换无效的问题
2020/04/30 Python
Python实现定时监测网站运行状态的示例代码
2020/09/30 Python
使用CSS禁止textarea调整大小功能的方法
2015/03/13 HTML / CSS
HTML5中实现拖放效果无须借助javascript
2012/12/26 HTML / CSS
HTML5单选框、复选框、下拉菜单、文本域的实现代码
2020/12/01 HTML / CSS
英国人最爱的饰品网站:Accessorize
2016/08/22 全球购物
在校生钳工实习自我鉴定
2013/09/19 职场文书
淘宝店铺营销方案
2014/02/13 职场文书
项目合作意向书模板
2014/07/29 职场文书
师德师风的心得体会
2014/09/02 职场文书
2016幼儿园中班开学寄语
2015/12/03 职场文书
2016护理专业求职自荐书
2016/01/28 职场文书
JavaScript使用canvas绘制坐标和线
2021/04/28 Javascript
图文详解matlab原始处理图像几何变换
2021/07/09 Python