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中实现对list做减法操作介绍
Jan 09 Python
Python字符串替换实例分析
May 11 Python
Python打造出适合自己的定制化Eclipse IDE
Mar 02 Python
详谈python http长连接客户端
Jun 12 Python
Python实现简单的获取图片爬虫功能示例
Jul 12 Python
Python实现破解猜数游戏算法示例
Sep 25 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
Apr 28 Python
详解Python_shutil模块
Mar 15 Python
Python一行代码实现快速排序的方法
Apr 30 Python
聊聊python里如何用Borg pattern实现的单例模式
Jun 06 Python
关于tf.TFRecordReader()函数的用法解析
Feb 17 Python
关于Python中进度条的六个实用技巧分享
Apr 05 Python
python字典进行运算原理及实例分享
Aug 02 #Python
Python中可变和不可变对象的深入讲解
Python基础数据类型tuple元组的概念与用法
Aug 02 #Python
opencv用VS2013调试时用Image Watch插件查看图片
基于python定位棋子位置及识别棋子颜色
Python 处理表格进行成绩排序的操作代码
python识别围棋定位棋盘位置
You might like
php 特殊字符处理函数
2008/09/05 PHP
在PHP中使用反射技术的架构插件使用说明
2010/05/18 PHP
推荐一款MAC OS X 下php集成开发环境mamp
2014/11/08 PHP
PHP使用GETDATE获取当前日期时间作为一个关联数组的方法
2015/03/19 PHP
PHP巧妙利用位运算实现网站权限管理的方法
2017/03/12 PHP
fromCharCode和charCodeAt 方法
2006/12/27 Javascript
js对象的构造和继承实现代码
2010/12/05 Javascript
JS运动基础框架实例分析
2015/03/03 Javascript
简介JavaScript中Math.cos()余弦方法的使用
2015/06/15 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
Bootstrap BootstrapDialog使用详解
2017/02/17 Javascript
jquery实现tab键进行选择后enter键触发click行为
2017/03/29 jQuery
JavaScript实现鼠标滚轮控制页面图片切换功能示例
2017/10/14 Javascript
jquery.picsign图片标注组件实例详解
2018/02/02 jQuery
vue axios重复点击取消上一次请求封装的方法
2019/06/19 Javascript
vue在线动态切换主题色方案
2020/03/26 Javascript
python 写入csv乱码问题解决方法
2016/10/23 Python
Python+Socket实现基于UDP协议的局域网广播功能示例
2017/08/31 Python
TensorFlow Session会话控制&amp;Variable变量详解
2018/07/30 Python
python在回调函数中获取返回值的方法
2019/02/22 Python
Python实例方法、类方法、静态方法区别详解
2020/09/05 Python
python 日志模块logging的使用场景及示例
2021/01/04 Python
CSS3实现可翻转的hover效果
2018/05/23 HTML / CSS
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
详解html5页面 rem 布局适配方法
2018/01/12 HTML / CSS
HTML中meta标签及Keywords
2020/04/15 HTML / CSS
加拿大在线眼镜零售商:SmartBuyGlasses加拿大
2019/05/25 全球购物
Mamaearth官方网站:印度母婴护理产品公司
2019/10/06 全球购物
澳大利亚设计师服装在线:MISHA
2019/10/07 全球购物
局域网定义和特性
2016/01/23 面试题
老师推荐信
2013/10/28 职场文书
主题党日活动总结
2014/07/08 职场文书
植物生产学专业求职信
2014/08/08 职场文书
Nginx开启Brotli压缩算法实现过程详解
2021/03/31 Servers
世界十大狙击步枪排行榜
2022/03/20 杂记
vue特效之翻牌动画
2022/04/20 Vue.js