1. List(列表)

列表是一个有序的、可变的序列,可以存储不同类型的元素。

1.1 创建

1
2
3
4
5
6
7
# 空列表
a = []
b = list()

# 含有元素的列表
nums = [1, 2, 3, 4]
mixed = [1, "hello", True, 3.14]

1.2 常用操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
nums = [10, 20, 30]

# 访问元素(索引从 0 开始)
print(nums[0]) # 10
print(nums[-1]) # 30,倒数第一个

# 修改元素
nums[1] = 25 # [10, 25, 30]

# 添加元素
nums.append(40) # [10, 25, 30, 40]
nums.insert(1, 15) # [10, 15, 25, 30, 40]

# 删除元素
nums.remove(25) # 删除第一个匹配的值
del nums[0] # 按索引删除
x = nums.pop() # 删除最后一个并返回它

# 查找
print(30 in nums) # True
print(nums.index(30)) # 返回索引

# 长度
print(len(nums))

# 排序
nums.sort() # 就地排序
nums.reverse() # 反转

1.3 遍历

1
2
3
4
5
for x in nums:
print(x)

for i, x in enumerate(nums):
print(i, x) # 同时获取索引和值

2. Dict(字典)

字典是 键值对(key-value) 组成的集合,键唯一,值可重复。常用于表示映射关系。

2.1 创建

1
2
3
4
5
6
# 空字典
d = {}
d2 = dict()

# 含有元素的字典
person = {"name": "Alice", "age": 25, "city": "Beijing"}

2.2 常用操作

1
2
3
4
5
6
7
8
9
10
11
12
13
# 访问
print(person["name"]) # Alice
print(person.get("age")) # 25
print(person.get("gender", "unknown")) # 如果键不存在,返回默认值

# 修改 / 添加
person["age"] = 26
person["gender"] = "female"

# 删除
del person["city"]
person.pop("age") # 返回被删除的值
person.clear() # 清空字典

2.3 遍历

1
2
3
4
5
6
7
8
9
10
person = {"name": "Alice", "age": 25, "city": "Beijing"}

for key in person: # 遍历键
print(key, person[key])

for key, value in person.items(): # 遍历键值对
print(key, value)

for value in person.values(): # 遍历值
print(value)

2.4 其他方法

1
2
3
keys = person.keys()      # 返回所有键
values = person.values() # 返回所有值
items = person.items() # 返回 (key, value) 元组

3. List vs Dict 对比

特性 List(列表) Dict(字典)
存储方式 有序序列 键值对集合
索引方式 下标(数字) 键(可哈希)
是否允许重复元素 允许 键不能重复
使用场景 顺序数据、栈、队列 映射关系、查表