python元组打包和解包过程详解


Posted in Python onAugust 02, 2021

1、在将多个以逗号分隔的值赋给一个变量时,多个值被打包成一个元组类型。当我们将一个元组赋给多个变量时,它将解包成多个值,然后分别将其赋给相应的变量。

# 打包
a = 1, 10, 100
print(type(a), a)    # <class 'tuple'> (1, 10, 100)
# 解包
i, j, k = a
print(i, j, k)       # 1 10 100

2、解包时,如果解包出来的元素数目与变量数目不匹配,就会引发ValueError异常。错误信息为:too many values to unpack(解包的值太多)或not enough values to unpack(解包的值不足)。

a = 1, 10, 100, 1000
# i, j, k = a             # ValueError: too many values to unpack (expected 3)
# i, j, k, l, m, n = a    # ValueError: not enough values to unpack (expected 6, got 4)

知识点扩充:

python之打包,解包

#coding:utf-8
#字符串,列表,元组打包与解包
aString = 'abc'
aList = [1, 2, 3]
aTuple = 'a', 'A', 1

print('Unpacking string......')
first, second, third = aString
print("string values:", first, second, third)

print('\nUnpacking list......')
first, second, third = aList
print("string values:", first, second, third)

print('\nUnpacking tuple......')
first, second, third = aTuple
print("string values:", first, second, third)

#swapping two values
x = 3
y = 4
print('\nBefore swapping: x = %d,y =%d' % (x, y))
#首先将右边的部分打包成一个元组,即(4,3),而后解包指派给变量x,y
x, y = y, x #swap Variables
print('After swapping: x = %d, y = %d' % (x, y))

到此这篇关于python元组打包和解包过程详解的文章就介绍到这了,更多相关python元组如何打包和解包内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python静态方法实例
Jan 14 Python
Python的Django框架中消息通知的计数器实现教程
Jun 13 Python
Python编码类型转换方法详解
Jul 01 Python
深入分析python数据挖掘 Json结构分析
Apr 21 Python
python 读取txt中每行数据,并且保存到excel中的实例
Apr 29 Python
python人民币小写转大写辅助工具
Jun 20 Python
简单了解Python3里的一些新特性
Jul 13 Python
利用Python进行图像的加法,图像混合(附代码)
Jul 14 Python
Python 进程之间共享数据(全局变量)的方法
Jul 16 Python
Python基本语法之运算符功能与用法详解
Oct 22 Python
利用python进行文件操作
Dec 04 Python
使用numpy nonzero 找出非0元素
May 14 Python
python字典进行运算原理及实例分享
Aug 02 #Python
Python中可变和不可变对象的深入讲解
Python基础数据类型tuple元组的概念与用法
Aug 02 #Python
opencv用VS2013调试时用Image Watch插件查看图片
基于python定位棋子位置及识别棋子颜色
Python 处理表格进行成绩排序的操作代码
python识别围棋定位棋盘位置
You might like
PHP正确解析UTF-8字符串技巧应用
2012/11/07 PHP
学习php分页代码实例
2013/10/24 PHP
网页上facebook分享功能具体实现
2014/01/26 PHP
神盾加密解密教程(三)PHP 神盾解密工具
2014/06/08 PHP
php数组使用规则分析
2015/02/27 PHP
微信公众号实现会员卡领取功能
2017/06/08 PHP
PHP读取、解析eml文件及生成网页的方法示例
2017/09/04 PHP
详解php用static方法的原因
2018/09/12 PHP
php正则表达式使用方法整理集合
2020/01/31 PHP
浅谈PHP中的那些魔术常量
2020/12/02 PHP
nginx 设置多个站跨域
2021/03/09 Servers
Jquery之美中不足小结
2011/02/16 Javascript
jquery的ajax跨域请求原理和示例
2014/05/08 Javascript
对JavaScript的全文搜索实现相关度评分的功能的方法
2015/06/24 Javascript
JavaScript组件开发完整示例
2015/12/15 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
Vue.js事件处理器与表单控件绑定详解
2017/03/20 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
vue 项目如何引入微信sdk接口的方法
2017/12/18 Javascript
详解vue-meta如何让你更优雅的管理头部标签
2018/01/18 Javascript
使用Vue制作图片轮播组件思路详解
2018/03/21 Javascript
webpack 处理CSS资源的实现
2019/09/27 Javascript
Python中的字符串类型基本知识学习教程
2016/02/04 Python
flask入门之表单的实现
2018/07/18 Python
python 将对象设置为可迭代的两种实现方法
2019/01/21 Python
python3 反射的四种基本方法解析
2019/08/26 Python
Python MongoDB 插入数据时已存在则不执行,不存在则插入的解决方法
2019/09/24 Python
django 实现手动存储文件到model的FileField
2020/03/30 Python
Python logging模块异步线程写日志实现过程解析
2020/06/30 Python
Django启动时找不到mysqlclient问题解决方案
2020/11/11 Python
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
导游词之丽江普济寺
2019/10/22 职场文书
一文搞懂如何实现Go 超时控制
2021/03/30 Python
MySQL 十大常用字符串函数详解
2021/06/30 MySQL
使用scrapy实现增量式爬取方式
2022/06/21 Python