使用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中使用ConfigParser解析ini配置文件实例
Aug 30 Python
Python中用Decorator来简化元编程的教程
Apr 13 Python
Python实现简单多线程任务队列
Feb 27 Python
使用python的pandas库读取csv文件保存至mysql数据库
Aug 20 Python
python虚拟环境完美部署教程
Aug 06 Python
python对Excel按条件进行内容补充(推荐)
Nov 24 Python
如何基于pythonnet调用halcon脚本
Jan 20 Python
详解django中Template语言
Feb 22 Python
Pycharm内置终端及远程SSH工具的使用教程图文详解
Mar 19 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
Jul 31 Python
Python的logging模块基本用法
Dec 24 Python
利用python调用摄像头的实例分析
Jun 07 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
第三节--定义一个类
2006/11/16 PHP
PHP添加MySQL数据记录代码
2008/06/07 PHP
php构造函数实例讲解
2013/11/13 PHP
php is_writable判断文件是否可写实例代码
2016/10/13 PHP
php基于session锁防止阻塞请求的方法分析
2017/08/07 PHP
常用的javascript function代码
2008/05/23 Javascript
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
解析Node.js异常处理中domain模块的使用方法
2016/02/16 Javascript
JS打印组合功能
2016/08/04 Javascript
基于jQuery实现表格的排序
2016/12/02 Javascript
详谈js中数组(array)和对象(object)的区别
2017/02/27 Javascript
JS实现的透明度渐变动画效果示例
2018/04/28 Javascript
[00:57]深扒TI7聊天轮盘语音出处5
2017/05/11 DOTA
python中的一些类型转换函数小结
2013/02/10 Python
在Python中移动目录结构的方法
2016/01/31 Python
Python做简单的字符串匹配详解
2017/03/21 Python
python单向循环链表原理与实现方法示例
2019/12/03 Python
opencv resize图片为正方形尺寸的实现方法
2019/12/26 Python
python3 中使用urllib问题以及urllib详解
2020/08/03 Python
python飞机大战游戏实例讲解
2020/12/04 Python
浅谈Html5中视频 音频标签 进度条的问题
2016/07/26 HTML / CSS
Html5监听手机摇一摇事件的实现
2019/11/07 HTML / CSS
韩国CJ食品专卖网:CJonmart
2016/09/11 全球购物
美国婚礼礼品网站:MyWeddingFavors
2018/09/26 全球购物
舞会礼服和舞会鞋:PromGirl
2019/04/22 全球购物
英国汽车零件购物网站:GSF Car Parts
2019/05/23 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
签约仪式主持词
2014/03/19 职场文书
电气工程及其自动化专业求职信
2014/06/23 职场文书
真诚的求职信
2014/07/04 职场文书
小学英语复习计划
2015/01/19 职场文书
学生会任命书范本
2015/09/21 职场文书
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
Python 可迭代对象 iterable的具体使用
2021/08/07 Python
Windows 11要来了?微软文档揭示Win11太阳谷 / Win10有两个不同版本
2021/11/21 数码科技