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](不受影响)
小结:列表有序、可变、可嵌套,配合切片、常用方法与推导式能简洁地完成大部分数据处理;下一节的元组是它的"不可变版本"。