python---列表(List)

发布于:2025-07-26 ⋅ 阅读:(15) ⋅ 点赞:(0)


列表是 Python 中最基本、最常用的数据结构之一,它是一个有序的可变集合,可以包含不同类型的元素。

创建列表

# 空列表
empty_list = []
empty_list = list()


# 包含元素的列表
numbers = [1, 2, 3, 4, 5]
fruits = ['apple', 'banana', 'orange']
mixed = [1, 'hello', 3.14, True]

基本操作

访问元素(索引)

my_list = ['a', 'b', 'c', 'd', 'e']

# 通过索引访问(从0开始)
print(my_list[0])  # 'a'
print(my_list[2])  # 'c'

# 负索引表示从末尾开始
print(my_list[-1])  # 'e'
print(my_list[-2])  # 'd'

切片操作

my_list = ['a', 'b', 'c', 'd', 'e']

# 获取子列表
print(my_list[1:3])  # ['b', 'c']
print(my_list[:3])   # ['a', 'b', 'c']
print(my_list[2:])   # ['c', 'd', 'e']
print(my_list[:])    # 复制整个列表

# 步长
print(my_list[::2])  # ['a', 'c', 'e']

修改列表

列表的增删改查操作

# 修改元素
my_list[1] = 20  # [1, 20, 3, 4]

print("索引修改:", my_list)

# 添加元素
my_list.append(5)      # 末尾添加 [1, 20, 3, 4, 5]
print("append添加:", my_list)
my_list.insert(1, 1.5) # 指定位置插入 [1, 1.5, 20, 3, 4, 5]
print("append添加:", my_list)

# 删除元素
del my_list[0]         # 删除指定位置 [1.5, 20, 3, 4, 5]
print("del删除:", my_list)
my_list.remove(20)     # 删除第一个匹配项 [1.5, 3, 4, 5]
print("remove删除匹配项", my_list)
popped = my_list.pop() # 删除并返回最后一个元素 [1.5, 3, 4], popped=5
print("pop删除最后一个元素", my_list)
print("popped  = ", popped)

常用方法

my_list = [1, 2, 3, 4, 5]

# 长度
length = len(my_list)  # 5
print(f"length is {length}")

# 连接列表
new_list = my_list + [6, 7, 8]
print(f"new_list is {new_list}")

# 重复列表
repeated = my_list * 2  # [1, 2, 3, 4, 5, 1, 2, 3, 4, 5]
print(f"repeated is {repeated}")

# 排序
my_list = [1, 5, 4, 3, 2]
my_list.sort()          # 原地排序
print(f"my_list is {my_list}")
sorted_list = sorted(my_list)  # 返回新排序列表
print(f"sorted_list is {sorted_list}")

# 反转
my_list = [1, 5, 4, 3, 2]
my_list.reverse()       # 原地反转
print(f"my_list is {my_list}")
reversed_list = my_list[::-1]  # 创建反转副本
print(f"reversed_list is {reversed_list}")


# 查找
index = my_list.index(3)  # 返回第一个3的索引
print(f"index is {index}")
count = my_list.count(3)  # 计算3出现的次数
print(f"count is {count}")

# 清空
my_list.clear()  # []
print(f"my_list is {my_list}")

列表推导式

# 创建平方数列表
squares = [x**2 for x in range(10)]

# 带条件的列表推导式
even_squares = [x**2 for x in range(10) if x % 2 == 0]

# 嵌套列表推导式
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flattened = [num for row in matrix for num in row]

嵌套列表推导式分析:
嵌套列表推导式等价于两个for循环。

flattened = [num for row in matrix for num in row]

# 等价于
flattened = []
for row in matrix:      # 遍历 matrix 的每一行
    for num in row:     # 遍历当前行的每个元素
        flattened.append(num)  # 将元素添加到新列表

多维列表

# 多维列表(矩阵)
matrix = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9,[10, 11, 12]]
]

# 访问元素
print(matrix)  # [[1, 2, 3], [4, 5, 6], [7, 8, 9, [10, 11, 12]]]
print(matrix[1])  # [4, 5, 6]
print(matrix[2])  # [7, 8, 9, [10, 11, 12]]
print(matrix[1][2])  # 6
print(matrix[2][3][2])  # 12

# IndexError: list index out of range
# print(matrix[3])  

网站公告

今日签到

点亮在社区的每一天
去签到