tuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。还有就是,list使用中括号[],而tuple使用小括号(),也算是快速识别tuple的一种方法。

1、创建元组

创建一个元组很简单,只需要在括号中添加元素,元素之间使用逗号分隔即可:

t = (0,1,2,3,4,5,6,7,8,9)

同list,元组中的元素也可以是不同类型的数据:

t=(1,"Hello",False)

当然还可以创建空元组:

t=()

需要注意的是,由于在python中小括号()也是运算符,所以创建只含有一个元素的元组时要这样:

t=(1,)

在元素后面添加一个逗号,就可以区分是否是元组了。

2、访问元组

元组的访问和list相同,访问list元素的方法都可以访问元组,不同之处由于元组不能修改,所以元组没有append、insert和pop等方法:

tup1 = ('physics', 'chemistry', 1997, 2000);
tup2 = (1, 2, 3, 4, 5, 6, 7 );print "tup1[0]: ", tup1[0]
print "tup2[1:5]: ", tup2[1:5]

结果:

tup1[0]:  physics
tup2[1:5]:  (2, 3, 4, 5)

3、修改元组

元组中的元素不能修改,不过我们可以连接两个元组:

tup1=(1,2)
tup2=("Hello","World")
tup3=tup1+tup2
print tup3

结果:

(1,2,"Hello","World")

4、删除元组

虽然元组中的元素不能修改,我们可以使用del语句删除整个元组:

del tup3

5、"可变"的元组

前面我们看到了tuple一旦创建就不能修改。现在,我们来看一个“可变”的tuple:

t = ('a', 'b', ['A', 'B'])

注意到 t 有 3 个元素:'a','b'和一个list:['A', 'B']。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到:

L = t[2]

然后,我们可以把list中的两个元素改一改:

L[0]='X'
L[1]='Y'

再看看t的内容:

print t

('a', 'b', ['X', 'Y'])

第三个元素的内容变了。

先看看刚定义时t的内容:

当我们把list的元素'A'和'B'修改为'X'和'Y'后,t变为:

表面上看,tuple的元素确实变了,但其实变的不是 tuple 的元素,而是list的元素。
tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!
理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

6、元组运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

7、元素的索引与截取

这些操作元组和list相同。

8、Python内置函数

其中max、min、cmp、len等函数的使用和list相同,元组还有一个tuple函数,用来将序列转换为元组:

tuple(seq)

9、其他

任意无符号的对象,以逗号隔开,默认为元组,如下实例:

t=1,2,3
print t #(1,2,3)

Python内置数据类型之Tuple相关推荐

  1. 数据结构(Python版):Python内置数据类型

    1. Python内置数据类型 python内置数据类型中的列表list和字典dict,可作为Python语言中实现各种常用数据结构的基石,后续各种数据结构均基于他们实现.两种数据类型的常见(操作)方 ...

  2. 以下不是python内置数据类型的是_以下不是python内置数据类型的是

    以下不是python内置数据类型的是 答:float 关于分娩先兆,下述哪项是错误的 答:初产妇见红血量比经产妇多 中国提出的________理念,为世界和平繁荣提供了新路径,并被写入联合国决议 答: ...

  3. Python内置数据类型之list

    list,列表,是Python内置的一种数据类型.list是一种有序的集合,可以随时添加和删除其中的元素.一个简单的方法识别list,即用"[]"括起来的就是list. 下面介绍l ...

  4. Python内置数据类型之Dict

    Dict字典,是另一种可变类型的容器模型,可以存储任意类型对象. 1.字典的创建 字典的每个键值对(key->value)使用冒号(:)分隔,键值对之间使用逗号(,)分隔,使用花括号{}包含元素 ...

  5. python 内置数据类型之数字

    目录: 1.2. 数字 1.2.1. 数字类型 1.2.2. 浮点数 1.2.3. 进制记数 1.2.4. 设置小数精度 1.2.5. 分数 1.2.6. 除法 1.2 数字 1.2.1 数字类型 p ...

  6. python语言中内置的字符串排版方法_python基础知识(python内置数据类型-字符串)...

    python中的字符串 字符串基本特点 字符串的本质是字符序列.python中的字符串是不可变的,无法对原字符串做任何修改(不能用下标赋值的方式去改变字符串).但是可以将字符串的一部分赋值创建新的字符 ...

  7. python内置数据类型与特点_初学Python之内置数据类型一

    Python中一些基本数据类型: Booleans[布尔型] 或为 True[真] 或为 False[假]. Numbers[数值型] 可以是 Integers[整数](1 和 2).Floats[浮 ...

  8. python类型-Python基本内置数据类型有哪些?

    玩蛇网Python学习平台在这里会和大家讲下Python初学者,最常用到的Python基本内置数据类型有哪些. 在Python程序中,每个数据都是对像,每个对像都有自己的一个类型.不同类型有不同的操作 ...

  9. python数据类型与数据结构--内置数据类型

    学习目标:将python所涉及的数据类型.数据结构弄清楚 python作为面向对象编程语言.那么代表数据的对象都有哪些呢? 在这里我把他们分为内置数据类型,文件数据类型,第三方常用数据结构和自定义的数 ...

最新文章

  1. 最长连续子序列nlogn算法
  2. Stanford UFLDL教程 稀疏编码
  3. Cannot add or update a child row: a foreign key constraint fails
  4. 程序中添加动态用户密码
  5. 深入解析PHP中逗号与点号的区别
  6. 部门选择控件源代码公布
  7. 2-1 nodejs和npm的安装和环境搭建
  8. Ubuntu12.04 内核树建立
  9. Collections about Deep Learning
  10. python时间格式化
  11. VC6.0 Raising Error spawning cl.exe solution
  12. Apache Flink CDC 批流融合技术原理分析
  13. rhel6+apache2.4+mysql5.7+php5.6部署LAMP架构
  14. CSDN有奖任务答案
  15. 无需第三方recovery安装xposed,亲测有效
  16. pg数据库表存放在哪里_pg数据库系统表
  17. PhotoShop十大使用技巧总结
  18. 【安全篇 / 反病毒】(5.6) ❀ 01. 反病毒的基本配置 ❀ FortiGate 防火墙
  19. c语言average的用法,平均函数average的一般和不一般的用法
  20. 数据可视化|用堆叠条形图进行对比分析

热门文章

  1. JAVA 作业:图形界面
  2. cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
  3. strlen的神奇实现
  4. c语言int 转bool_C++代码实现逆波兰式_C 语言
  5. java stopself_如何正确停止前台服务?
  6. 分布式是什么意思_机架式ups是什么意思?与分布式DPS有何不同之处?
  7. linux7系统如何配置网卡,Linux 7 配置网卡(nmcli)
  8. java中整数如何表示,在Java中如何在位级别上内部表示整数?
  9. 算法—振兴中华(C语言版)
  10. 什么是ACID理论(二阶段、三阶段提交、TCC)