一、列表核心定义

有序、可变的容器,可存储任意类型数据(整数、字符串、列表等),用[]定义,元素间用逗号分隔。

基础格式与创建

# 空列表
lst1 = []
lst2 = list()

# 普通列表(存储不同类型数据)
lst3 = [1, 2, "Python", True, 3.14]
lst4 = [1, 2, [3, 4]]  # 嵌套列表

二、列表核心操作

1. 访问列表元素(索引取值)

索引从0开始,支持正向索引和反向索引(反向从-1开始),可切片取值。

lst = [10, 20, 30, 40, 50]

# 正向索引
print(lst[0])  # 10(第一个元素)
print(lst[2])  # 30(第三个元素)

# 反向索引
print(lst[-1])  # 50(最后一个元素)
print(lst[-3])  # 30(倒数第三个元素)

# 切片取值(左闭右开,可指定步长)
print(lst[1:4])   # [20, 30, 40]
print(lst[::2])   # [10, 30, 50](步长2)
print(lst[::-1])  # [50, 40, 30, 20, 10](倒序)

2. 修改列表元素(索引赋值)

通过索引定位元素,直接赋值修改,支持批量修改。

lst = [10, 20, 30, 40]

# 单个元素修改
lst[1] = 200
print(lst)  # [10, 200, 30, 40]

# 批量修改(切片赋值)
lst[2:] = [300, 400]
print(lst)  # [10, 200, 300, 400]

3. 新增列表元素

常用3种方式:append(末尾新增)、insert(指定位置新增)、extend(合并列表)

lst = [10, 20, 30]

# append:末尾新增单个元素
lst.append(40)
print(lst)  # [10, 20, 30, 40]

# insert:指定索引位置新增(索引越界则默认末尾)
lst.insert(1, 15)
print(lst)  # [10, 15, 20, 30, 40]

# extend:合并另一个列表(新增多个元素)
lst2 = [50, 60]
lst.extend(lst2)
print(lst)  # [10, 15, 20, 30, 40, 50, 60]

4. 删除列表元素

常用4种方式:del(索引/切片删除)、remove(按元素值删除)、pop(索引删除并返回元素)、clear(清空列表)。

lst = [10, 20, 30, 40, 20]

# del:删除指定索引元素,也可删除切片、整个列表
del lst[2]
print(lst)  # [10, 20, 40, 20]
del lst[1:3]
print(lst)  # [10, 20]

# remove:按元素值删除(删除第一个匹配项,元素不存在报错)
lst.remove(20)
print(lst)  # [10]

# pop:默认删除最后一个元素,可指定索引,返回删除的元素
lst = [10, 20, 30]
res = lst.pop()
print(res)  # 30
print(lst)  # [10, 20]

# clear:清空列表,保留列表对象
lst.clear()
print(lst)  # []

三、列表常用方法

lst = [30, 10, 20, 10, 40]

# count:统计元素出现次数
print(lst.count(10))  # 2

# index:查找元素第一次出现的索引,元素不存在报错
print(lst.index(20))  # 2

# sort:排序(默认升序,reverse=True降序)
lst.sort()
print(lst)  # [10, 10, 20, 30, 40]
lst.sort(reverse=True)
print(lst)  # [40, 30, 20, 10, 10]

# reverse:反转列表(倒序排列,不同于sort降序)
lst.reverse()
print(lst)  # [10, 10, 20, 30, 40]

# len:获取列表长度(元素个数)
print(len(lst))  # 5

四、列表循环遍历

常用for循环遍历,可直接遍历元素,也可通过索引遍历。

lst = [10, 20, 30, 40]

# 直接遍历元素(最常用)
for num in lst:
    print(num)

# 索引遍历(需要获取元素索引时用)
for i in range(len(lst)):
    print(lst[i])

五、列表嵌套

列表内部包含另一个列表,通过“多层索引”访问嵌套的元素。

六、注意点

  • 列表索引从0开始,索引越界(如lst[10],列表长度不足11)会报错。

  • remove删除元素时,仅删除第一个匹配项,元素不存在会报错。

  • 切片取值不会修改原列表,切片赋值会直接修改原列表。

  • 列表是可变容器,修改、新增、删除元素会直接改变原列表。

  • 嵌套列表访问时,需逐层使用索引,不可跳过层级。

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐