python元组元素的提取_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])
在平行赋值中, *前缀只能在一个变量名前面, 但是这个变量可以出现在赋值表达式的任意位置。
python元组元素的提取_Python 元组拆包相关推荐
- python元组元素的提取比_Python 元组数据类型(tuple)详解 [访问元组元素][修改元组元素][删除元组][学习 Python 必备基础知识][看此一篇就够了]...
您的"关注"和"点赞",是信任,是认可,是支持,是动力...... 如意见相佐,可留言. 本人必将竭尽全力试图做到准确和全面,终其一生进行修改补充更新. 1 元 ...
- python二维元组元素的提取_如何从元组列表中提取第n个元素?
我在寻找以最快的方式提取2元组列表的第二个元素时发现了这一点.不是我想要的,但是运行了与第3种方法所示相同的测试,并测试了zip方法 setup = 'elements = [(1,1) for _ ...
- python的元祖类型_python元组类型
元组类型简介 使用括号包围的数据结构是元组(tuple).例如: >>> (1,2,3) (1, 2, 3) >>> T = (1,2,3,) >>&g ...
- python元组添加元素_Python 元组_python元组操作_添加元素_python 元组转字符串
Python 元组 Python的元组与列表类似,不同之处在于元组的元素不能修改. 元组使用小括号,列表使用方括号. 元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可. 如下实例: tup1 ...
- python元组有什么用_python元组是什么意思
python元组(tuple)是一个不可变的序列.Python元组和Python列表数据类似,都是线性表.唯一不同的是,Python元组赋值后所存储的数据不能被程序修改,可以将元组看作是只能读取数据不 ...
- python元组有啥用_python元组是什么?python元组的用法介绍
本篇文章给大家带来的内容是关于python元组是什么?python元组的用法介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 元组是什么? 你可以把它看作是只读的列表,因为元组不可 ...
- python元组有啥用_python元组的用法
1.什么是元组 同list一样,允许存放若干任意类型数据的容器 但是元组是不可变的序列 2.语法 元组是使用()括起来,()内允许盛放若干元素,如果只放一个元素的话,元素后要加 , 用于区分对象还是元 ...
- python文本分析和提取_python文本分析和提取 Python 文本内容指定字段提取
使用python对txt文本进行分析和提取 首先,打开计算机上的pycharm编辑器,如下图所示,然后进入下一步. 开学以后,小编没有碰过电脑,第一次,这就说明了开学是多么的可怕 其次,完成上述步骤后 ...
- python列表元素交换位置_python删除列表元素5种方法,你会的是错误法还是最优解?...
删除列表元素很多同学想当然的认为不就是循环遍历加上if判断再del吗?真的有这么简单吗? 还是直接上代码看案例吧: import time# 删除下面列表中所有张姓元素,输出的结果应该是['李老大', ...
最新文章
- Python 之 Numpy (二)array
- loadrunner-4-3报告摘要
- 笑死!“盒马”把自己的ID给玩没了...
- Django 权限管理-后台根据用户权限动态生成菜单
- priority_queue+贪心:运输(题解)
- 了解播放过滤器API
- 写给Java开发者看的JavaScript对象机制
- EAT/IAT Hook
- 反射 getDeclaredMethod和getMethod的区别以及用法《实例》
- 从一片空白到世界领先,中国通信翻身逆袭史
- html返回顶部代码(简单)
- C语言入门教程(一)
- Intellij Idea插件开发点滴记录
- 关于tomcat下startup.bat双击闪退的问题
- 青岛租房 不知道租哪儿,手动做的租房地图。
- 显卡的结构和工作原理及发展历史与现状
- Windows系统NodeJs安装及环境配置
- windows系统多线程同步机制原理总结
- 识别图片中的文字(ocr)
- IoGetDeviceProperty 例程
热门文章
- 【嵌入式05】Ubuntu下opencv新手操作:(打开图片及视频)
- 深析SpringCloud与Docker微服务架构
- PostgreSQL练习
- 特斯拉、华为们要用软件重新定义汽车?
- Spark数据分区(partitionBy分区、partitioner获取分区方式、自定义分区)
- 基于Linux平台的TCP通信并发服务器---在线英语词典项目
- 2017-10-20 西电 新一代人工智能与深度学习“国际”研讨会第一天见闻
- 游戏服务器框架概括分析
- 支撑小米万亿级的消息队列架构与实践
- 开源阅读书源_开源阅读畅读全网图书 有声读物