使用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数据结构之二叉树的建立实例
Apr 29 Python
python实现用户登录系统
May 21 Python
浅谈用VSCode写python的正确姿势
Dec 16 Python
python 接口测试response返回数据对比的方法
Feb 11 Python
Python多重继承的方法解析执行顺序实例分析
May 26 Python
详解Python 函数如何重载?
Apr 23 Python
python3 打印输出字典中特定的某个key的方法示例
Jul 06 Python
Python实现基于SVM的分类器的方法
Jul 19 Python
Django Admin后台添加数据库视图过程解析
Apr 01 Python
如何基于Python Matplotlib实现网格动画
Jul 20 Python
Django + Taro 前后端分离项目实现企业微信登录功能
Apr 07 Python
Pillow图像处理库安装及使用
Apr 12 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实现的获取网页中的图片并保存到本地的代码
2010/01/05 PHP
ThinkPHP中limit()使用方法详解
2016/04/19 PHP
php实现对短信验证码发送次数的限制实例讲解
2021/03/04 PHP
Microsoft Ajax Minifier 压缩javascript的方法
2010/03/05 Javascript
javaScript(JS)替换节点实现思路介绍
2013/04/17 Javascript
Bootstrap按钮功能之查询按钮和重置按钮
2016/10/26 Javascript
js如何编写简单的ajax方法库
2017/08/02 Javascript
JS排序算法之冒泡排序,选择排序与插入排序实例分析
2017/12/13 Javascript
JS生成随机打乱数组的方法示例
2017/12/23 Javascript
微信小程序scroll-x失效的完美解决方法
2018/07/18 Javascript
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
2018/08/28 jQuery
vue项目首屏打开速度慢的解决方法
2019/03/31 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
使用纯前端JavaScript实现Excel导入导出方法过程详解
2020/08/07 Javascript
JavaScript中交换值的10种方法总结
2020/08/18 Javascript
vue+iview实现文件上传
2020/11/17 Vue.js
Python提取Linux内核源代码的目录结构实现方法
2016/06/24 Python
python爬虫实战之爬取京东商城实例教程
2017/04/24 Python
python爬虫爬取快手视频多线程下载功能
2018/02/28 Python
python3 打印输出字典中特定的某个key的方法示例
2019/07/06 Python
python多线程高级锁condition简单用法示例
2019/11/07 Python
python判断变量是否为列表的方法
2020/09/17 Python
通过实例解析python and和or使用方法
2020/11/14 Python
python Protobuf定义消息类型知识点讲解
2021/03/02 Python
HTML5 新标签全部总汇(推荐)
2016/06/13 HTML / CSS
美国礼品卡商城: Gift Card Mall
2017/08/25 全球购物
惠普新加坡官方商店:HP Singapore
2020/04/17 全球购物
教师实习的自我鉴定
2013/10/26 职场文书
信息技术毕业生自荐信范文
2014/03/13 职场文书
小学生中国梦演讲稿
2014/04/23 职场文书
主题实践活动总结
2014/05/08 职场文书
大学生简短的自我评价
2014/09/12 职场文书
县政府办公室领导班子对照检查材料思想汇报
2014/09/28 职场文书
《浅水洼里的小鱼》教学反思
2016/02/16 职场文书
使用Python脚本对GiteePages进行一键部署的使用说明
2021/05/27 Python
Flask使用SQLAlchemy实现持久化数据
2021/07/16 Python