c语言编程笔录

首页 >   > 笔记大全

笔记大全

python元组和列表的不同点是什么

更新时间:2023-10-07

元组和列表的概念

Python中的元组(tuple)和列表(list)都属于序列(sequence),可以存储多个值,并且可以通过下标或切片获取其中的元素。元组和列表之间的最显著的区别是,在创建后,元组的元素不能被修改(即不可变),而列表的元素是可变的。

元组和列表的创建

创建元组可以使用小括号 (),也可以使用 tuple() 函数。创建列表则使用中括号 [] 或 list() 函数。

# 创建元组
tup1 = (1, 2, 3)
print(tup1)

tup2 = tuple([4, 5, 6])
print(tup2)

# 创建列表
list1 = [1, 2, 3]
print(list1)

list2 = list((4, 5, 6))
print(list2)

元组和列表的访问

元组和列表的访问方式相同,可以使用下标或切片获取其中的元素。

# 访问元组
tup = (1, 2, 3, 4, 5)
print(tup[0]) # 输出第一个元素
print(tup[1:3]) # 输出第二个到第四个元素

# 访问列表
list = [1, 2, 3, 4, 5]
print(list[0]) # 输出第一个元素
print(list[1:3]) # 输出第二个到第四个元素

元组和列表的不同点

元组和列表最大的不同是元素是否可变。元组在创建后元素不可变,而列表在创建后元素可以被修改。

# 修改列表元素
list = [1, 2, 3, 4, 5]
list[0] = 0
print(list) # 输出 [0, 2, 3, 4, 5]

# 修改元组元素,以下代码会报错
tup = (1, 2, 3, 4, 5)
tup[0] = 0 # 报错:'tuple' object does not support item assignment

元组在某些情况下更适用于实际的编程问题。由于元组的不可变性,它们可以作为字典的键(而列表不能)。

# 将元组作为字典的键
dict = {(1, 2): 'hello', (3, 4): 'world'}
print(dict[(1, 2)]) # 输出 hello

# 将列表作为字典的键,以下代码会报错
dict = {[1, 2]: 'hello', [3, 4]: 'world'} # 报错:unhashable type: 'list'

总结

Python中的元组和列表都属于序列,都可以存储多个值,并且可以通过下标或切片获取其中的元素。但元组是不可变的(创建之后元素不能被修改),而列表是可变的(创建后元素可以被修改)。

在某些情况下,元组更适用于实际的编程问题,例如作为字典的键。而列表则更适用于需要频繁修改元素的场景。