Python3 列表

列表(list)是 Python 中最常用的数据类型:有序、可变的容器,能存放任意类型元素,用方括号 [] 表示。列表贯穿几乎所有 Python 程序,是必须熟练掌握的核心结构。

创建列表

nums = [1, 2, 3]
mixed = [1, "hello", 2.5, True]   # 元素类型可以不同
empty = []                        # 空列表
print(nums)            # 输出:[1, 2, 3]
print(list("abc"))     # 输出:['a', 'b', 'c']
print(list(range(3)))  # 输出:[0, 1, 2]

索引与切片

nums = [10, 20, 30, 40]
print(nums[0], nums[-1])   # 输出:10 40
print(nums[1:3])           # 切片生成新列表,输出:[20, 30]
print(nums[::-1])          # 输出:[40, 30, 20, 10]
nums[0] = 99               # 下标修改元素
print(nums)                # 输出:[99, 20, 30, 40]

常用方法

增删元素是高频操作:

nums = [1, 2]
nums.append(3)          # 尾部追加 -> [1, 2, 3]
nums.extend([4, 5])     # 追加序列 -> [1, 2, 3, 4, 5]
nums.insert(0, 0)       # 位置插入 -> [0, 1, 2, 3, 4, 5]
nums.remove(0)          # 删除第一个 0
print(nums.pop())       # 弹出末尾元素,输出:5
nums.pop(0)             # 弹出指定下标
print(nums)             # 输出:[2, 3, 4]

排序、反转、计数、查找、清空等:

nums = [3, 1, 2]
nums.sort()              # 升序(原列表变化)
nums.reverse()           # 反转
new_nums = nums.copy()   # 浅拷贝出新列表
print(nums.count(1))     # 输出:1
print(nums.index(2))     # 输出:1
nums.clear()
print(nums)              # 输出:[]

判断成员与遍历

fruits = ["apple", "banana", "orange"]
print("apple" in fruits)    # 输出:True
for f in fruits:
    print(f, end=" ")       # 输出:apple banana orange

嵌套列表

元素可以是列表,形成二维结构,常用于表格或矩阵:

matrix = [[1, 2], [3, 4]]
print(matrix[0][1])   # 输出:2(第 0 行第 1 列)

列表推导式

一行完成"生成 + 过滤",是 Python 的特色写法:

squares = [x * x for x in range(5)]
print(squares)                # 输出:[0, 1, 4, 9, 16]
evens = [x for x in range(10) if x % 2 == 0]
print(evens)                  # 输出:[0, 2, 4, 6, 8]

列表是可变类型

修改列表不会生成新对象,直接赋值会共享同一份数据:

a = [1, 2, 3]
b = a          # 指向同一个列表
b.append(4)
print(a)       # 输出:[1, 2, 3, 4](a 也跟着变了)
c = a.copy()   # 独立的新列表
c.append(5)
print(a)       # 输出:[1, 2, 3, 4](不受影响)

小结:列表有序、可变、可嵌套,配合切片、常用方法与推导式能简洁地完成大部分数据处理;下一节的元组是它的"不可变版本"。

笔记加载中…