Python 元组拆包
元组拆包可以应用到任何迭代对象上, 唯一的要求是, 被可迭代对象中的元素数量必须要和这些元素的元组的空档数一致, 除非我们用* 来表示忽略多余的元素。
1. 最好辨认的元组拆包形式就是平行赋值, 也就是把一个可迭代对象里的元素, 一起赋值到由对应的变量组成的元组中。
平行赋值
就像是这样:
lax_coordinates = (33.9425, -118.408056)
latitude, longitude = lax_coordinates #元组拆包
>>> latitude
33.9425
>>> longitude
-118.408056
另一种很优雅的写法不使用中间变量交换两个变量的值:
>>> b, a = a, b
还可以用 * 运算符把一个可迭代的对象拆开作为函数的参数:
>>> divmod(20, 8)
(2, 4)
>>>t = (20, 8)
>>> divmod(*t)
(2, 4)
>>> quotient, remainder = divmod(*t)
>>> quotient, remainder
(2, 4)
2.下面是一个例子, 这里的元组拆包用法则是让一个函数可以用元组的形式返回多个值, 然后调用函数代码就能轻松地接受这些返回值。比如os.path.split()函数就会返回以路径和最后一个文件组成的元组(path,last_part):
>>> import os
>>> _, filename = os.path.split('/home/luciano/.ssh/idrsa.pub')
>>> filename
'idrsa.pub'
在进行拆包的时候,我们对不感兴趣的数据可以用 _占位符处理,上面的例子也是这个用法, 但是如果是国际化软件, 那么_可能就不是一个占位符,因为这个也是gettext.gettext函数的常用别名,gettext模块的文档里就提到这一点。
3.用*来处理剩下的元素
在python中, 函数用*args 来获取不确定数量的参数是一种经典写法,在python3中,这个概念被扩展到了平行赋值中:
>>> a, b, *c = range(5)
>>> a, b, c
(0, 1, [2, 3, 4])
>>> a, b, *c = range(3)
>>> a, b, c
(0, 1, [2])
在平行赋值中, *前缀只能在一个变量名前面, 但是这个变量可以出现在赋值表达式的任意位置。
转载于:https://www.cnblogs.com/arthurlzyw/p/7744805.html
Python 元组拆包相关推荐
- python 元组拆包_Python元组拆包和具名元组解析实例详解
前言 在Python中元组是一个相较于其他语言比较特别的一个内置序列类型.有些python入门教程把元组成为"不可变的列表",这种说法是不完备的,其并没有完整的概括元组的特点.除了 ...
- python元组拆包
来源<利用python进行数据分析>P55-57 如果想要将元组类型的表达式赋值给变量,python会对等号右边的值进行拆包 tup = (4, 5, 6) a, b, c = tup # ...
- python中元组拆包_Python 元组拆包和具名元组解析
Python 元组拆包和具名元组解析 前言 在 Python 中元组是一个相较于其他语言比较特别的一个内置序列类型有些 python 入门教程把元组成为不可变的列表, 这种说法是不完备的, 其并没有完 ...
- python中元组拆包_Python3基础:元组拆包
关注微信公众号"酸痛鱼",获得更多最新最全的文章. 建议您在PC浏览器中阅读本文,以获得更好的阅读体验. 建议您抄写并运行本文中的例子的所有代码,并尝试对代码按照自己的理解进行适当 ...
- python元组元素的提取_Python 元组拆包
元组拆包可以应用到任何迭代对象上, 唯一的要求是, 被可迭代对象中的元素数量必须要和这些元素的元组的空档数一致, 除非我们用* 来表示忽略多余的元素. 1. 最好辨认的元组拆包形式就是平行赋值, 也就 ...
- python列表嵌套元组拆分_Python进阶之元组拆包及嵌套元组拆包
1.元组拆包 元组拆包也叫可迭代元素拆包 元组拆包的基本用法: >>> lax_coordinates = (33.9425, -118.408056) >>> l ...
- 熟练掌握python是什么概念-想要熟练掌握Python元组?你需要了解这10件应知事项...
本文转载自公众号"读芯术"(ID:AI_Discovery) 人生苦短,Python是岸. 作为一种通用编程语言,Python已成为各学术和工业领域中最流行的语言之一. 此前,IE ...
- python元组_Python 元组和分片
这一篇是 <流畅的 python> 读书笔记.主要介绍元组.分片.序列赋值以及引用了大师 Edsger W.Dijkstra 为什么序列从0开始计数 的解释. 元组 在有些python 的 ...
- python元组(tuple)使用示例+常用方法+列表(list)和元组(tuple)的异同?
python元组(tuple)使用示例+常用方法+列表(list)和元组(tuple)的异同? 元组(tuple) # 元组类似列表,元组里面的元素也是进行索引计算. # 列表里面的元素的值可以修改, ...
最新文章
- client-go使用实例
- [Machine Learning]--无监督学习
- 行代码入门python_新浪微博Android客户端开发视频教程(36讲)
- Redux其实很简单(原理篇)
- 推荐系统遇到曝光偏差怎么办?用对比学习!
- 如何将h5网页改成微信网页
- 微服务升级_SpringCloud Alibaba工作笔记0003---理解spring webflux_响应式堆栈_提高微服务吞吐量和伸缩性
- C++认识容器的迭代器
- 在 Mac 上如何使用 iCloud 钥匙串保护信息安全?
- shop++ jtm2.5最新版本发布
- java简历编写及面试技巧
- 保研之路——上交大电子系直博
- win10如何调整计算机时间同步,win10电脑时间与Internet同步的设置方法
- VScode远程root权限调试
- 在UE5中创建一个受战锤启发的角色
- Github搜索开源项目过滤技巧
- Mysql 安装,及其闪退的问题解决
- 英语词根记忆法(5)
- 解密!高德地图九大绝密卷宗带你畅游上海迪士尼
- 鸿蒙OS与安卓、Fuchsia 对比分析
热门文章
- .net连接mysql中文乱码问题的解决
- 4 构建Mysql+heartbeat+DRBD+LVS集群应用系统系列之Lvs为Mysql-slave做负载均衡
- 无锁队列以及ABA问题
- border-radius 移动之伤
- 怎样定义函数,调用函数
- 在装完Linux系统之后自己去修改Swap分区的大小(两种方法)
- 怎么删除用户_误删的手机照片怎么恢复?三种快速恢复的方法
- 在用ganglia时出现You don‘t have permission to access ganglia on this server
- 负载均衡和故障转移的使用案例
- 大数据可视化技术挑战和措施