元组中的元素不能被修改。用()把元素括起来,用,逗号隔开

创建和访问元组

更新和删除元组

元组的相关操作符


元组创建:

>>> tuple1 = (1,2,3,4,5,6,7,8)            #使用()括起来,用,逗号隔开

>>> tuple1

(1, 2, 3, 4, 5, 6, 7, 8)

>>> tuple2 = '张三','李四','王五'              #或者直接使用,逗号隔开

>>> tuple2

('张三', '李四', '王五')

>>> type(tuple1)                         #查看变量类型

<class 'tuple'>

>>> type(tuple2)

<class 'tuple'>


元组同数组一样,也可以进行分片

>>> tuple1[2:5]

(3, 4, 5)


向元组中插入新元素

>>> tuple2 = tuple2[:1] + ('赵六',) + tuple2[1:]                      #中间的()和,都是必须的

>>> tuple2

('张三', '赵六', '李四', '王五')

这里不是修改原来的元组,而是新建了一个元组赋值给tuple2,原来的('张三','李四','王五')这个元组依然在存储区域内,只是没有变量引用它,一段时间以后原来的元组存储区域就会被python回收


元组跟数组不同,不能使用pop(),remove()方法删除其中的元素,不过可以使用del删除整个元组(用法少,一般不会明显删除整个元组)

>>> tuple2.remove('张三')

Traceback (most recent call last):

  File "<pyshell#17>", line 1, in <module>

    tuple2.remove('张三')

AttributeError: 'tuple' object has no attribute 'remove'

>>> tuple2.pop()

Traceback (most recent call last):

  File "<pyshell#18>", line 1, in <module>

    tuple2.pop()

AttributeError: 'tuple' object has no attribute 'pop'

>>> del tuple2

>>> tuple2

Traceback (most recent call last):

  File "<pyshell#20>", line 1, in <module>

    tuple2

NameError: name 'tuple2' is not defined


--------------------------分隔符,哈哈哈-----------------------


二、课后作业:

0.请用一句话描述什么是列表?再用一句话描述什么是元组?

列表:可以存放各种类型的数据,可以随时增、删、改里面的元素,所有元素使用[]括起来,以,隔开

元组:类似一个封闭的列表,一旦定义就不能改变(不能增、删、改),所有元素使用()括起来,以,隔开


1.什么情况下你需要使用元组而不是列表?

当内容不被轻易修改的时候使用元组;

当需要频繁修改数据的时候使用列表。


2.当元组和列表掉下水,你会救谁?

我会用del把它们全删了,哈哈哈。。。开玩笑的。当然选择列表了,列表提供灵活的编程方法,元组一经创建不能修改,缺乏灵活性


3.请将下图左边列表的内置方法与右边的注释连线,并圈出元组可以使用的方法。

学习笔记-小甲鱼Python3学习第十三讲:元组:戴上了枷锁的列表


4.创建一个元组,什么情况下逗号和小括号必须同时存在,缺一不可?

进行元组拼接,切拼接的元素只有一个的时候


5.x, y, z = 1, 2, 3 请问x, y, z是元组吗?

肯定不是,这是赋值操作,是对x,y,z分别赋值

所有的多对象的、逗号分隔的、没有明确用符号定义的这些集合默认的类型都是元组。


6.请写出以下情景中应该使用列表还是元组来保存数据: 

1) 游戏中角色的属性:列表

2) 你的×××信息:元组 

3) 论坛的会员:列表 

4) 团队合作开发程序,传递给一个你并不了解具体实现的函数的参数:元组 

5) 航天火箭各个组件的具体配置参数:元组 

6) NASA系统中记录已经发现的行星数据:列表