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实现从脚本里运行scrapy的方法
Apr 07 Python
在Python程序中实现分布式进程的教程
Apr 28 Python
Python使用bs4获取58同城城市分类的方法
Jul 08 Python
Python使用multiprocessing实现一个最简单的分布式作业调度系统
Mar 14 Python
python3使用PyMysql连接mysql数据库实例
Feb 07 Python
python 寻找优化使成本函数最小的最优解的方法
Dec 28 Python
pandas apply 函数 实现多进程的示例讲解
Apr 20 Python
PyTorch学习笔记之回归实战
May 28 Python
python爬虫 2019中国好声音评论爬取过程解析
Aug 26 Python
django商品分类及商品数据建模实例详解
Jan 03 Python
Python字符编码转码之GBK,UTF8互转
Feb 09 Python
VSCode中autopep8无法运行问题解决方案(提示Error: Command failed,usage)
Mar 02 Python
python字典进行运算原理及实例分享
Aug 02 #Python
Python中可变和不可变对象的深入讲解
Python基础数据类型tuple元组的概念与用法
Aug 02 #Python
opencv用VS2013调试时用Image Watch插件查看图片
基于python定位棋子位置及识别棋子颜色
Python 处理表格进行成绩排序的操作代码
python识别围棋定位棋盘位置
You might like
CI框架集成Smarty的方法分析
2016/05/17 PHP
linux下php上传文件注意事项
2016/06/11 PHP
php利用imagemagick实现复古老照片效果实例
2017/02/16 PHP
laravel框架 api自定义全局异常处理方法
2019/10/11 PHP
Javascript的IE和Firefox兼容性汇编
2006/07/01 Javascript
推荐40个简单的 jQuery 导航插件和教程(下篇)
2012/09/14 Javascript
JavaScript将Table导出到Excel实现思路及代码
2013/03/13 Javascript
多种方式实现JS调用后台方法进行数据交互
2013/08/20 Javascript
jquery模拟SELECT下拉框取值效果
2013/10/23 Javascript
使用js写的一个简易的投票
2013/11/27 Javascript
Jquery如何实现点击时高亮显示代码
2014/01/22 Javascript
JavaScript如何禁止Backspace键
2015/12/02 Javascript
EasyUI的doCellTip实现鼠标放到单元格上提示单元格内容
2016/08/24 Javascript
HTML5 实现的一个俄罗斯方块实例代码
2016/09/19 Javascript
JavaScript中动态向表格添加数据
2017/01/24 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
JavaScript禁用右键单击优缺点分析
2019/01/20 Javascript
微信小程序实现折线图的示例代码
2019/06/07 Javascript
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
实现一个Vue自定义指令懒加载的方法示例
2020/06/04 Javascript
[28:05]完美世界DOTA2联赛循环赛Inki vs DeMonsTer 第一场 10月30日
2020/10/31 DOTA
使用Python的web.py框架实现类似Django的ORM查询的教程
2015/05/02 Python
Python爬虫之pandas基本安装与使用方法示例
2018/08/08 Python
django 外键model的互相读取方法
2018/12/15 Python
浅谈Django前端后端值传递问题
2020/07/15 Python
python中upper是做什么用的
2020/07/20 Python
大众服装店创业计划书范文
2014/01/01 职场文书
企业精神口号
2014/06/11 职场文书
中国梦演讲稿3分钟
2014/08/19 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
党员违纪检讨书
2015/05/05 职场文书
2016入党积极分子考察评语
2015/12/01 职场文书
2016年政治理论学习心得体会
2016/01/25 职场文书
Mysql Online DDL的使用详解
2021/05/20 MySQL
redis cluster支持pipeline的实现思路
2021/06/23 Redis
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers