(本专栏是我的慕课学习笔记,后续发现不足之处会更新)
tuple和list很类似,但是tuple一旦创建完毕,就不能修改了。tuple在定义时用圆括号“( )”表示。
>>> t = ('Alice', 'Bob', 'Carol')
>>> print(t[1]) #访问第二个元素Bob
>>> print(t[-1]) #访问倒数第一个元素Carol
>>> t[1] = 'Dave' #无法修改元素,会报错
Bob
Carol
TypeError: 'tuple' object does not support item assignment
创建包含0个元素tuple,直接用()表示:
>>> t = ()
>>> print(t)
()
创建包含1个元素tuple时,会发现打印出的t不是tuple,而是整数1。
>>> t = (1)
>>> print(t)
1
这是因为“()”被Python认作是用于表示计算优先级的括号,因此计算出结果1。
因为有歧义,所以Python 规定,单元素tuple要多加一个逗号“,”,这样就避免了歧义:(在打印单元素tuple时,会出现一个逗号,而打印多元素时不会)
>>> t = (1,)
>>> print(t)
(1,)
修改存在list元素的tuple:(实际上改变的是list中的元素)
>>> t = ('a', 'b', ['A', 'B'])
>>> L = t[2]
>>> L[0] = 'X'
>>> L[1] = 'Y'
>>> print(t)
('a', 'b', ['X', 'Y'])
如果真要想tuple元素不再发生改变,把tuple中的list元素也变成tuple即可:
>>> t = ('a', 'b', ('A', 'B'))
使用“+”连接两个tuple,使用“*”重复tuple元素,通过索引获取指定位置的元素,通过index()查找某个元素对应的位置,与list操作相同。
由于元组的元素不能改变,因此适合存储基本不变的数据,例如学生信息,地图坐标等。
氷鸢鸢鸢
2020.7.26