元组中的元素不能被修改。用()把元素括起来,用,逗号隔开
创建和访问元组
更新和删除元组
元组的相关操作符
元组创建:
>>> 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.请将下图左边列表的内置方法与右边的注释连线,并圈出元组可以使用的方法。
4.创建一个元组,什么情况下逗号和小括号必须同时存在,缺一不可?
进行元组拼接,切拼接的元素只有一个的时候
5.x, y, z = 1, 2, 3 请问x, y, z是元组吗?
肯定不是,这是赋值操作,是对x,y,z分别赋值
所有的多对象的、逗号分隔的、没有明确用符号定义的这些集合默认的类型都是元组。
6.请写出以下情景中应该使用列表还是元组来保存数据:
1) 游戏中角色的属性:列表
2) 你的×××信息:元组
3) 论坛的会员:列表
4) 团队合作开发程序,传递给一个你并不了解具体实现的函数的参数:元组
5) 航天火箭各个组件的具体配置参数:元组
6) NASA系统中记录已经发现的行星数据:列表