文章目录
- Python 列表与元组
- 列表 (List)
- 特点:
- 创建列表:
- 常用操作:
- 其他
- 元组 (Tuple)
- 特点:
- 创建元组:
- 常用操作:
- 其他
- 列表与元组对比
- 何时使用哪种:
- 转换:
Python 列表与元组
前言:在Python中,列表(List)和元组(Tuple)都是常用的序列类型,用于存储有序的元素集合。
列表 (List)
列表是 Python 中最常用的可变序列类型,将一组数据放在一对方括号“[ ]”中即定义了一个列表。用于存储一组有序的元素。
特点:
- 可变性:创建后可以修改(增删改元素)
- 有序性:元素按插入顺序保存
- 可重复:允许包含重复元素
- 异构性:可以包含不同类型的元素(列表也可以哦,先定义后加入也可以)
要注意代码的可读性哦,便于之后的维护与更新。
创建列表:
my_list = [] # 空列表
numbers = [1, 2, 3, 4, 5] #依旧是从 0 开始索引
mixed = [1, "hello", 3.14, True] #“True” 既可以用 3 索引,也可以用 -1 索引得到
group = [["小溪",20],["疑义",15]]play1 = ["world"]
play2 =["hello"]
players = [play1,play2]
# 输出 [['world'], ['hello']]
常用操作:
# 添加元素
my_list.append(10) # 末尾添加
my_list.insert(1, 20) # 指定位置插入 (索引,新元素),原位置及其后所有元素后移一位# 删除元素
del my_list[-3]
popped = my_list.pop(5) #pop()方法通过 指定索引 从列表中删除对应的元素,并返回该元素#当缺少指定索引时,将默认删除列表末尾的元素my_list.remove(10) # 删除指定值(元素),如果元素重复时,删除索引值较小的那个元素# 修改元素
my_list[0] = 100 #直接在位置上修改# 切片操作
subset = numbers[1:4] # 获取子列表 [2, 3, 4]# 其他操作
length = len(my_list) # 获取长度
if 3 in numbers: # 检查存在性print("3 exists")
其他
运算符 in 和 not in:
元素 in 列表
元素 not in 列表
返回 True
或者False
。
index()方法:
Python 中的 index() 方法
count()方法:
Python中的count()方法
元组 (Tuple)
元组是不可变的序列类型,通常用于存储不应更改的数据集合。
特点:
- 不可变性:创建后不能修改
- 有序性:元素按插入顺序保存
- 可重复:允许包含重复元素
- 异构性:可以包含不同类型的元素
- 性能:通常比列表操作更快
创建元组:
my_tuple = () # 空元组
coordinates = (10, 20) # 包含两个元素的元组
single_element = (5,) # 单元素元组(注意逗号)
常用操作:
# 访问元素
x = coordinates[0] # 10# 切片操作
subset = coordinates[:1] # (10,)# 其他操作
length = len(my_tuple) # 获取长度
if 10 in coordinates: # 检查存在性print("10 exists")# 解包
x, y = coordinates # x=10, y=20
其他
Python中列表与元组的遍历与排序
列表与元组对比
特性 | 列表 (List) | 元组 (Tuple) |
---|---|---|
可变性 | 可变,可修改 | 不可变,创建后不能修改 |
语法 | 使用方括号 [] | 使用圆括号 () |
性能 | 稍慢(需要处理可变性) | 更快(内存占用更小) |
使用场景 | 存储需要频繁修改的数据集合 | 存储不应更改的数据(如配置、常量) |
方法 | 有多种修改方法(append, pop等) | 只有不可变方法(count, index) |
内存占用 | 较大 | 较小 |
作为字典键 | 不能(因为可变) | 可以(因为不可变) |
何时使用哪种:
-
使用列表当您需要:
- 频繁添加或删除元素
- 修改现有元素
- 需要一个可变的序列
-
使用元组当您需要:
- 确保数据不被意外修改
- 作为字典的键
- 需要更高的性能
- 表示固定集合(如坐标、日期等)
转换:
my_list = [1, 2, 3]
my_tuple = tuple(my_list) # 列表转元组 (1, 2, 3)new_list = list(my_tuple) # 元组转列表 [1, 2, 3]
求三连