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 linecache.getline()读取文件中特定一行的脚本
Sep 06 Python
Python使用metaclass实现Singleton模式的方法
May 05 Python
详解python调度框架APScheduler使用
Mar 28 Python
pandas or sql计算前后两行数据间的增值方法
Apr 20 Python
Python实现ping指定IP的示例
Jun 04 Python
python调用opencv实现猫脸检测功能
Jan 15 Python
Python_查看sqlite3表结构,查询语句的示例代码
Jul 17 Python
flask框架jinja2模板与模板继承实例分析
Aug 01 Python
Django自定义模板过滤器和标签的实现方法
Aug 21 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
Sep 26 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
Python导入模块包原理及相关注意事项
Mar 25 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读写文件的方法(生成HTML)
2006/11/27 PHP
php下MYSQL limit的优化
2008/01/10 PHP
PHP5 面向对象程序设计
2008/02/13 PHP
php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法
2014/11/04 PHP
jQuery EasyUI API 中文文档 - Parser 解析器
2011/09/29 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
javascript动态创建链接的方法
2015/05/13 Javascript
javascript实现一个数值加法函数
2015/06/26 Javascript
jquery实现超简洁的TAB选项卡效果代码
2015/08/28 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
javascript弹出窗口中增加确定取消按钮
2016/06/24 Javascript
js选项卡的制作方法
2017/01/23 Javascript
原生JS中slice()方法和splice()区别
2017/03/06 Javascript
原生JS实现导航下拉菜单效果
2020/11/25 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
Node使用Sequlize连接Mysql报错:Access denied for user ‘xxx’@‘localhost’
2018/01/03 Javascript
vue页面加载闪烁问题的解决方法
2018/03/28 Javascript
利用vue.js把静态json绑定bootstrap的table方法
2018/08/28 Javascript
Bootstrap4 gulp 配置详解
2019/01/06 Javascript
jQuery添加新内容的四个常用方法分析【append,prepend,after,before】
2019/03/19 jQuery
Laravel admin实现消息提醒、播放音频功能
2019/07/10 Javascript
详解Vue串联过滤器的使用场景
2020/04/30 Javascript
Vue列表如何实现滚动到指定位置样式改变效果
2020/05/09 Javascript
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
在VS2017中用C#调用python脚本的实现
2019/07/31 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
pytorch载入预训练模型后,实现训练指定层
2020/01/06 Python
浅谈Python中os模块及shutil模块的常规操作
2020/04/03 Python
Python pandas 列转行操作详解(类似hive中explode方法)
2020/05/18 Python
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
2012/12/10 HTML / CSS
关键字final的用法
2013/10/02 面试题
深圳茁壮笔试题
2015/05/28 面试题
行政文员岗位职责
2013/11/08 职场文书
模特大赛策划方案
2014/05/28 职场文书
2016年小学六一儿童节活动总结
2016/04/06 职场文书
Python Flask实现进度条
2022/05/11 Python