列表(List)和元组(Tuple)是 Python 中两种常用的序列类型,它们在功能和特性上有显著差异。
目录
列表和元组介绍
常用库函数(以列表为例)
a 末尾添加x
删除a[idx]元素
查找元素 x 在序列 a 中第一次出现的索引
查找x是否在a中
内置函数
列表解析式
同时获取列表的下标和元素。
切片
复制
列表和元组介绍
可变性
列表是可变的(Mutable),支持增删改操作。元组是不可变的(Immutable),创建后不能修改。
语法
列表使用方括号[]定义,例如[1, 2, 3]。元组使用圆括号()定义,例如(1, 2, 3)。单元素元组需加逗号,如(1,)。
性能
元组由于不可变性,存储和访问速度比列表更快,适合存储常量数据。
使用场景
列表适合需要动态修改的数据集合。元组适合保护数据不被修改,或作为字典的键(因为字典键需不可变)。
常用库函数(以列表为例)
a 末尾添加x
a.append(x)删除a[idx]元素
a.pop(idx)查找元素x在序列a中第一次出现的索引
a.index(x,start,stop)查找x是否在a中
a = {1, 2, 3, 4} x = 3 print(x in a) # Output: True内置函数
sum(a) max(a) min(a)列表解析式
[expression for item in iterable]expression for item in iterable if conditionalexpression:对item的操作表达式item:可迭代对象中的每个元素iterable:可迭代对象(如列表、元组、字符串等)
# 生成平方数列表 squares = [x**2 for x in range(5)] # 输出:[0, 1, 4, 9, 16]同时获取列表的下标和元素。
enumerate()是 Python 内置函数,直接遍历列表时返回下标和元素的元组。这是最推荐的方式,代码简洁且高效。
my_list = ['a', 'b', 'c'] for index, element in enumerate(my_list): print(f"Index: {index}, Element: {element}")切片
a[start:end:step]复制
b=a[:] b=a.copy()