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正则替换字符串函数re.sub用法示例
Jan 19 Python
python中Matplotlib实现绘制3D图的示例代码
Sep 04 Python
Python与R语言的简要对比
Nov 14 Python
Python实现的选择排序算法原理与用法实例分析
Nov 22 Python
python中如何使用分步式进程计算详解
Mar 22 Python
用python写一个定时提醒程序的实现代码
Jul 22 Python
python命名空间(namespace)简单介绍
Aug 10 Python
Python 、Pycharm、Anaconda三者的区别与联系、安装过程及注意事项
Oct 11 Python
python能做什么 python的含义
Oct 12 Python
python爬虫多次请求超时的几种重试方法(6种)
Dec 01 Python
Jupyter Notebook 安装配置与使用详解
Jan 06 Python
分享7个 Python 实战项目练习
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
最简单的PHP程序--记数器
2006/10/09 PHP
php 购物车实例(申精)
2009/05/11 PHP
PHP 文件上传全攻略
2010/04/28 PHP
php中apc缓存使用示例
2013/12/25 PHP
destoon之一键登录设置
2014/06/21 PHP
php微信公众平台配置接口开发程序
2016/09/22 PHP
php注册审核重点解析(数据访问)
2017/05/23 PHP
php-beanstalkd消息队列类实例分享
2017/07/19 PHP
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
理解JavaScript的变量的入门教程
2015/07/07 Javascript
AngularJS动态加载模块和依赖的方法分析
2016/11/08 Javascript
form+iframe解决跨域上传文件的方法
2016/11/18 Javascript
微信小程序 图片加载(本地,网路)实例详解
2017/03/10 Javascript
js绑定事件和解绑事件
2017/04/27 Javascript
vue中页面跳转拦截器的实现方法
2017/08/23 Javascript
jQuery实现每隔一段时间自动更换样式的方法分析
2018/05/03 jQuery
基于javascript的拖拽类封装详解
2019/04/19 Javascript
在SSM框架下用laypage和ajax实现分页和数据交互的方法
2019/09/27 Javascript
vue-cli3中配置alias和打包加hash值操作
2020/09/04 Javascript
[03:36]2014DOTA2 TI小组赛综述 八强诞生进军钥匙球馆
2014/07/15 DOTA
[40:48]DOTA2上海特级锦标赛D组败者赛 Liquid VS COL第二局
2016/02/28 DOTA
Python安装Numpy和matplotlib的方法(推荐)
2017/11/02 Python
python实现支付宝当面付(扫码支付)功能
2018/05/30 Python
详细介绍pandas的DataFrame的append方法使用
2019/07/31 Python
tensorflow之并行读入数据详解
2020/02/05 Python
Python web框架(django,flask)实现mysql数据库读写分离的示例
2020/11/18 Python
纽约服装和生活方式品牌:Saturdays NYC
2017/08/13 全球购物
如何打印出当前源文件的文件名以及源文件的当前行号
2015/04/05 面试题
最新大学职业规划书范文
2013/12/30 职场文书
高中国旗下的演讲稿
2014/08/28 职场文书
归元寺导游词
2015/02/06 职场文书
大学生个人学年总结
2015/02/15 职场文书
暂住证证明
2015/06/19 职场文书
领导新年致辞2016
2015/07/29 职场文书
vue中data里面的数据相互使用方式
2022/06/05 Vue.js
设置IIS Express并发数
2022/07/07 Servers