列表是可以修改的。如果想要传递的信息,不被算改,列表就不合适了。
元组同列表一样,都是可以封装多个、不同类型的元素在内。
但最大的不同点在于:元组一旦定义完成,就不可修改
所以,当我们需要在程序内封装数据,又不希望封装的数据被算改,那么元组就非常合适了。
定义元组是使用小括号,(定义列表使用[])
定义元组:变量名称 = (元素1, 元素2, ……)
定义空元组:变量名称 =() 或 变量名称= tuple()
元组里只有一个数据:变量名称 = (元素1,)#这个数据的后面要加逗号
定义多维元组:变量名称 = ((1, 2, 3), (4, 5, 6))
数据容器 | 可变性 | 语法表示 | 使用场景 | 迭代和索引 | 性能 |
列表(list) | 可变(可以添加、删除或修改其中的元素) | 使用方括号 [] 来表示,元素之间使用逗号分隔。 例如:my_list = [1, 2, 3] |
通常,列表用于存储可变的数据集合,例如保存多个相同类型的数据。 | 都支持迭代和索引操作。 例如my_list[0] 列表还提供了一些方便的方法,如append() 和pop()来添加和删除元素。 |
由于元组是不可变的,相比之下,列表在执行添加、删除和修改等操作时需要更多的时间和内存。因此,如果数据不需要更改,使用元组可能会更高效。 |
元组(tuple) | 不可变(一旦创建就不能改变其内容) | 使用圆括号 () 来表示,元素之间同样使用逗号分隔。 例如:my_tuple = (1, 2, 3) |
元组则通常用于存储不可变的数据集合,例如表示一个点的坐标。 | 都支持迭代和索引操作。 例如:my_tuple[1] |
方法 | 作用 |
index() | 查找某个数据,如果数据存在返回对应的下标,否别报错 |
count() | 统计某个数据在当前元组出现的次数 |
len(元组名) | 统计元组内的元素个数 |
还可以遍历元组
t1 = (111, "Hello", "World", "World", "Python")
# index查找
index1 = t1.index("Hello")
index2 = t1.index("World")
print(f"元素Hello在元组中的位置是: {index1}") # 输出:元素Hello在元组中的位置是: 1
print(f"元素World在元组中的位置是: {index2}") # 输出:元素World在元组中的位置是: 2(所以只会输出第一个遇到的下标)
# count统计方法
num = t1.count("World")
print(f"元组t1中一共有{num}个World") # 输出:元组t1中一共有2个World
# len函数统计元组元素数据
num = len(t1)
print(f"t1的长度是{num}") # 输出:t1的长度是5
# 元组的遍历:while
print("元组的元素有", end=":")
index = 0
while index < len(t1):
print(t1[index], end=",") # 输出结果:元组的元素有:111,Hello,World,World,Python,
index += 1
print()
# 元组的遍历:for
print("元组的元素有", end=":")
for element in t1:
print(element, end=",") # 输出结果:元组的元素有:111,Hello,World,World,Python,
其他的都不可以使用,因为元组不可修改。
例如:在上述基础上,修改元组的元素值时,会报错:
t1[0] = 222
# 报错:TypeError: 'tuple' object does not support item assignment
4、元组(tuple)内嵌套列表(list)
在元组内嵌套列表时,嵌套的列表仍然保持其自身的性质,而不是按照元组的性质来。元组是不可变的有序序列,使用圆括号 `()` 表示,而列表是可变的有序序列,使用方括号 `[]` 表示。当元组内包含列表时,列表保持其可变性,即可以对列表的元素进行添加、删除和修改等操作。可以修改元组内的list的内容(修改元素、增加、刷除、反转等):
t2 = (1, 2, ['Hello', 'World'])
t2[2][1] = 'Python'
print(t2) # 输出:(1, 2, ['Hello', 'Python'])
题目要求:定义一个元组,内容是:('周杰轮',11,[football,'music']),记录的是一个学生的信息(姓名、年龄、爱好),请通过元组的功能(方法),对其进行:
1.查询其年龄所在的下标位置。
2.查询学生的姓名。
3.副除学生爱好中的football
4.增加爱好:coding到爱好list内