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映射拆分操作符用法实例
May 19 Python
Python实战小程序利用matplotlib模块画图代码分享
Dec 09 Python
聊聊Python中的pypy
Jan 12 Python
flask使用session保存登录状态及拦截未登录请求代码
Jan 19 Python
Python序列循环移位的3种方法推荐
Apr 09 Python
Python 转换RGB颜色值的示例代码
Oct 13 Python
Python定义函数时参数有默认值问题解决
Dec 19 Python
Python使用uuid库生成唯一标识ID
Feb 12 Python
Python并发concurrent.futures和asyncio实例
May 04 Python
浅谈django框架集成swagger以及自定义参数问题
Jul 07 Python
Django解决frame拒绝问题的方法
Dec 18 Python
pytorch 实现L2和L1正则化regularization的操作
Mar 03 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
Symfony生成二维码的方法
2016/02/04 PHP
PHP中array_keys和array_unique函数源码的分析
2016/02/26 PHP
php使用ftp实现文件上传与下载功能
2017/07/21 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
2019/03/22 PHP
PHP autoload使用方法及步骤详解
2020/09/05 PHP
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
一个简单的javascript类定义例子
2009/09/12 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
基于JavaScript自定义构造函数的详解说明
2013/04/24 Javascript
js实现拉伸拖动iframe的具体代码
2013/08/03 Javascript
Enter转换为Tab的小例子(兼容IE,Firefox)
2013/11/14 Javascript
jquery 检测元素是否存在的实例代码
2013/11/19 Javascript
JavaScript弹窗基础篇
2016/04/27 Javascript
Node.js中常规的文件操作总结
2016/10/13 Javascript
AngularJS实现tab选项卡的方法详解
2017/07/05 Javascript
浅谈Angular2 ng-content 指令在组件中嵌入内容
2017/08/18 Javascript
Vue拖拽组件开发实例详解
2018/05/11 Javascript
实例分析Array.from(arr)与[...arr]到底有何不同
2019/04/09 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
2021/03/01 Vue.js
NodeJS和浏览器中this关键字的不同之处
2021/03/03 NodeJs
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
详解Python之数据序列化(json、pickle、shelve)
2017/03/30 Python
Python实现读取并保存文件的类
2017/05/11 Python
Python中最大最小赋值小技巧(分享)
2017/12/23 Python
python实现12306抢票及自动邮件发送提醒付款功能
2018/03/08 Python
python 多线程中子线程和主线程相互通信方法
2018/11/09 Python
Python实现自定义读写分离代码实例
2019/11/16 Python
Python selenium 加载并保存QQ群成员,去除其群主、管理员信息的示例代码
2020/05/28 Python
java字符串格式化输出实例讲解
2021/01/06 Python
HTML5 拖拽批量上传文件的示例代码
2018/03/28 HTML / CSS
html5 application cache遇到的严重问题
2012/12/26 HTML / CSS
某科技软件测试面试题
2013/05/19 面试题
红色故事汇观后感
2015/06/18 职场文书
2015年度对口支援工作总结
2015/07/22 职场文书
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript
docker-compose部署Yapi的方法
2022/04/08 Servers