Python中的tuple元组详细介绍


Posted in Python onFebruary 02, 2015

Tuple 是不可变 list。 一旦创建了一个 tuple 就不能以任何方式改变它。

Tuple 与 list 的相同之处

定义 tuple 与定义 list 的方式相同, 除了整个元素集是用小括号包围的而不是方括号。
Tuple 的元素与 list 一样按定义的次序进行排序。 Tuples 的索引与 list 一样从 0 开始, 所以一个非空 tuple 的第一个元素总是 t[0]。
负数索引与 list 一样从 tuple 的尾部开始计数。
与 list 一样分片 (slice) 也可以使用。注意当分割一个 list 时, 会得到一个新的 list ;当分割一个 tuple 时, 会得到一个新的 tuple。

Tuple 不存在的方法

您不能向 tuple 增加元素。Tuple 没有 append 或 extend 方法。
您不能从 tuple 删除元素。Tuple 没有 remove 或 pop 方法。
您不能在 tuple 中查找元素。Tuple 没有 index 方法。
然而, 您可以使用 in 来查看一个元素是否存在于 tuple 中。

用 Tuple 的好处

Tuple 比 list 操作速度快。如果您定义了一个值的常量集,并且唯一要用它做的是不断地遍历它,请使用 tuple 代替 list。
如果对不需要修改的数据进行 “写保护”,可以使代码更安全。使用 tuple 而不是 list 如同拥有一个隐含的 assert 语句,说明这一数据是常量。如果必须要改变这些值,则需要执行 tuple 到 list 的转换。

Tuple 与 list 的转换

Tuple 可以转换成 list,反之亦然。内置的 tuple 函数接收一个 list,并返回一个有着相同元素的 tuple。而 list 函数接收一个 tuple 返回一个 list。从效果上看,tuple 冻结一个 list,而 list 解冻一个 tuple。

Python 相关文章推荐
理解Python中的With语句
Feb 02 Python
python递归打印某个目录的内容(实例讲解)
Aug 30 Python
python3安装pip3(install pip3 for python 3.x)
Apr 03 Python
pandas修改DataFrame列名的方法
Apr 08 Python
详解Python循环作用域与闭包
Mar 21 Python
在交互式环境中执行Python程序过程详解
Jul 12 Python
python3实现弹弹球小游戏
Nov 25 Python
python实现智能语音天气预报
Dec 02 Python
python画图常规设置方式
Mar 05 Python
Django 解决新建表删除后无法重新创建等问题
May 21 Python
scrapy redis配置文件setting参数详解
Nov 18 Python
python操作xlsx格式文件并读取
Jun 02 Python
Linux下编译安装MySQL-Python教程
Feb 02 #Python
Python写的服务监控程序实例
Jan 31 #Python
用python 制作图片转pdf工具
Jan 30 #Python
Python是编译运行的验证方法
Jan 30 #Python
Python的类实例属性访问规则探讨
Jan 30 #Python
Python中的作用域规则详解
Jan 30 #Python
Python中使用Boolean操作符做真值测试实例
Jan 30 #Python
You might like
逆序二维数组插入一元素的php代码
2012/06/08 PHP
php自定义函数截取汉字长度
2014/05/15 PHP
基于ThinkPHP+uploadify+upload+PHPExcel 无刷新导入数据
2015/09/23 PHP
php7 图形用户界面GUI 开发示例
2020/02/22 PHP
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
js实现微信分享代码
2020/10/11 Javascript
Vue.directive自定义指令的使用详解
2017/03/10 Javascript
用JavaScript和jQuery实现瀑布流
2017/03/19 Javascript
原生JS实现Ajax跨域请求flask响应内容
2017/10/24 Javascript
JavaScript判断日期时间差的实例代码
2018/03/01 Javascript
解决angularjs service中依赖注入$scope报错的问题
2018/10/02 Javascript
vue项目中使用Svg的方法
2018/10/24 Javascript
在React中写一个Animation组件为组件进入和离开加上动画/过度效果
2019/06/24 Javascript
VueCli3.0中集成MockApi的方法示例
2019/07/05 Javascript
使用layui实现的左侧菜单栏以及动态操作tab项方法
2019/09/10 Javascript
js实现橱窗展示效果
2020/01/11 Javascript
JS如何操作DOM基于表格动态展示数据
2020/10/15 Javascript
Python中绑定与未绑定的类方法用法分析
2016/04/29 Python
Python中如何获取类属性的列表
2016/12/26 Python
python贪吃蛇游戏代码
2020/04/18 Python
Django Python 获取请求头信息Content-Range的方法
2019/08/06 Python
python实现npy格式文件转换为txt文件操作
2020/07/01 Python
python按顺序重命名文件并分类转移到各个文件夹中的实现代码
2020/07/21 Python
Python异常处理机制结构实例解析
2020/07/23 Python
css3 按钮样式简单可扩展创建
2013/03/18 HTML / CSS
canvas离屏技术与放大镜实现代码示例
2018/08/31 HTML / CSS
Canvas高级路径操作之拖拽对象的实现
2019/08/05 HTML / CSS
Html5基于canvas实现电子签名并生成PDF文档
2020/12/07 HTML / CSS
波兰在线体育用品商店:Hop-Sport.pl
2019/07/23 全球购物
大学生创业计划书的用途
2014/01/08 职场文书
自我鉴定三原则
2014/01/13 职场文书
校园安全广播稿
2014/02/08 职场文书
2014年高中教师工作总结
2014/12/19 职场文书
明确岗位职责
2015/02/14 职场文书