前言

列表(list)是Python中最常用、最重要的有序可变序列,可以存储不同数据类型的元素,支持增删改查、切片、遍历等丰富操作,是后续学习数组、数据结构、项目开发的基础。本文保姆级讲解列表核心操作,先汇总核心知识点表格,再逐一带代码实例,零基础也能轻松看懂。

一、列表核心操作总览表

提前汇总所有核心知识点,快速查阅、复习必备:

操作类型

语法/规则

核心特点

适用场景

列表定义

变量 = [元素1,元素2...] / list()

有序、可变、可存任意数据类型、允许重复

存储一组有序数据,支持动态修改

索引取值

list[下标],正向从0开始,反向从-1开始

单次获取单个元素,下标越界报错

精准获取列表中某一个指定元素

切片操作

list[start:end:step],左闭右开

截取多个元素,返回新列表,不修改原列表

批量截取列表片段、倒序、隔位取值

列表遍历

for 元素 in 列表 / for 下标,元素 in enumerate()

逐一遍历所有元素,支持获取下标+元素

批量处理、打印、统计列表所有数据

append()

list.append(元素)

列表末尾追加单个元素

单次添加一个数据到列表尾部

extend()

list.extend(可迭代对象)

末尾批量追加多个元素(拆分迭代对象)

将列表、字符串等多个元素并入原列表

insert()

list.insert(下标, 元素)

指定下标位置插入元素

在列表指定位置插入数据

pop()

list.pop(下标)

删除并返回对应元素,默认删最后一个

按位置删除元素,需要保留删除的数据

remove()

list.remove(元素)

删除第一个匹配的指定元素,无匹配则报错

按内容删除元素,无需知道下标

clear()

list.clear()

清空列表所有元素,保留空列表

批量清空列表数据,保留列表结构

index()

list.index(元素,start,end)

返回第一个匹配元素的下标,可指定查找范围

查询指定元素的索引位置

count()

list.count(元素)

统计元素在列表中出现的次数

数据频次统计、去重判断

sort()

list.sort(reverse=False)

原地排序,默认升序,reverse=True为降序

对原列表进行永久排序

reverse()

list.reverse()

原地反转列表元素顺序

颠倒列表原有排序

二、详细知识点+代码实例讲解

1. 列表的定义

# 方式1:直接赋值(最常用)
list1 = [1, 2, 3, "python", True, 2.5]
# 方式2:list() 强制转换(可将字符串、元组转为列表)
list2 = list("hello")
# 空列表
list3 = []

print("list1:", list1)  # list1: [1, 2, 3, 'python', True, 2.5]
print("list2:", list2)  # list2: ['h', 'e', 'l', 'l', 'o']
print("list3:", list3)  # list3: []

2. 列表索引(单个元素取值)

索引又称下标,用于精准获取列表中单个元素,分为正向索引和反向索引:

  • 正向索引:从左往右,从 0 开始递增

  • 反向索引:从右往左,从 -1 开始递减

注意:下标超出列表范围会直接报错!

# 索引示例
nums = [10, 20, 30, 40, 50]

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

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

3. 列表切片(批量截取元素)

切片用于截取列表一段元素,返回新列表,不会修改原列表,核心语法:

list[start:end:step]

  • start:起始下标,默认0(可省略)

  • end:结束下标,左闭右开(取到end前一位,不可省略)

  • step:步长,默认1,正数从左往右,负数从右往左

# 切片示例
nums = [10, 20, 30, 40, 50, 60]

# 1. 基础切片:截取下标1~4(不含4)
print("1~4切片:", nums[1:4])  # 1~4切片: [20, 30, 40]

# 2. 省略start:从开头截取到下标3
print("开头~3:", nums[:3])  # 开头~3: [10, 20, 30]

# 3. 省略end:从下标2截取到末尾
print("2~末尾:", nums[2:])  # 2~末尾: [30, 40, 50, 60]

# 4. 指定步长:隔1个取一个
print("步长2取值:", nums[::2])  # 步长2取值: [10, 30, 50]

# 5. 反向切片(列表倒序)
print("列表倒序:", nums[::-1])  # 列表倒序: [60, 50, 40, 30, 20, 10]

4. 列表遍历(批量处理元素)

遍历是循环读取列表所有元素的操作,日常开发高频使用,主要有两种常用方式。

方式1:直接遍历元素(只拿值)
# 方式1:直接遍历元素(只拿值)
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
for fruit in fruits:
    print("水果:", fruit)  # 水果: 苹果 / 香蕉 / 橙子 / 葡萄
方式2:enumerate遍历(同时拿下标+元素)
# 方式2:enumerate遍历(同时拿下标+元素)
fruits = ["苹果", "香蕉", "橙子", "葡萄"]
for index, fruit in enumerate(fruits):
    print(f"下标{index}:{fruit}")  # 下标0:苹果 下标1:香蕉 下标2:橙子 下标3:葡萄

5. 列表常用方法(增删改查)

列表内置大量实用方法,支持动态增删改查,所有操作均为原地修改列表(无需重新赋值)。

5.1 增加元素:append / extend / insert
# 增删改查-增加元素
lst = [1, 2, 3]

# append:末尾追加单个元素
lst.append(4)
print("append后:", lst)  # append后: [1, 2, 3, 4]

# extend:末尾批量追加多个元素
lst.extend([5, 6])
print("extend后:", lst)  # extend后: [1, 2, 3, 4, 5, 6]

# insert:指定下标插入元素
lst.insert(0, 0)
print("insert后:", lst)  # insert后: [0, 1, 2, 3, 4, 5, 6]
5.2 删除元素:pop / remove / clear
# 删除元素
lst = [1, 2, 3, 4, 5, 3]

# pop:按下标删除,返回删除的元素
res = lst.pop(2)
print(f"删除的元素:{res},删除后列表:{lst}")  # 删除的元素:3,删除后列表:[1, 2, 4, 5, 3]

# remove:删除第一个匹配的指定元素
lst.remove(3)
print("remove删除3后:", lst)  # remove删除3后: [1, 2, 4, 5]

# clear:清空列表所有元素
lst.clear()
print("清空后列表:", lst)  # 清空后列表: []
5.3 查询与统计:index / count
# 查询统计
lst = [2, 5, 3, 5, 7, 5]

# index:查找元素第一个匹配的下标
print("5的索引位置:", lst.index(5))  # 5的索引位置: 1

# count:统计元素出现次数
print("5出现的次数:", lst.count(5))  # 5出现的次数: 3
print("9出现的次数:", lst.count(9))  # 9出现的次数: 0
5.4 排序与反转:sort / reverse
# 排序与反转
lst = [3, 1, 4, 2, 5]

# sort:升序排序
lst.sort()
print("升序排序:", lst)  # 升序排序: [1, 2, 3, 4, 5]

# sort(reverse=True):降序排序
lst.sort(reverse=True)
print("降序排序:", lst)  # 降序排序: [5, 4, 3, 2, 1]

# reverse:反转列表顺序
lst.reverse()
print("反转列表:", lst)  # 反转列表: [1, 2, 3, 4, 5]

三、总结

1. 列表是Python核心可变序列,支持任意数据类型,是数据存储、处理的常用容器;

2. 索引取单个元素、切片取批量元素,切片左闭右开,不修改原列表;

3. 遍历优先使用 for in 基础遍历,需要下标时使用 enumerate

4. 增删改查方法是开发高频考点,熟记 append/extend/insert/pop/remove/sort 核心用法即可满足90%日常需求。

往期推荐:Python变量、数据类型详解、字符串全套操作

💡 关注博主,持续更新Python零基础入门、实战案例,零基础也能快速进阶!

Logo

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

更多推荐