Python 字典是一种无序、可变的数据类型,用 {} 大括号括起来,其中包含键-值对,每个键-值对之间用逗号分隔。
以下是 Python 字典的超级详细用法:
1. 创建字典
可以通过两种方式创建字典:
1. 直接赋值
# 直接创建字典
d = {'name': 'John', 'age': 25, 'city': 'New York'}
2. dict() 内置函数
# 使用 dict() 创建字典
d = dict(name='Tom', age=30, city='Paris')
2. 访问字典元素
可以通过键来访问字典中的元素:
d = {'name': 'John', 'age': 25, 'city': 'New York'}
print(d['name']) # 输出 'John'
print(d['age']) # 输出 25
print(d['city']) # 输出 'New York'
当字典中不存在对应的键时,会抛出 KeyError 异常。可以使用 `get()` 方法进行访问,如果键不存在则返回默认值:
d = {'name': 'John', 'age': 25, 'city': 'New York'}
print(d.get('phone', 'Not found')) # 输出 'Not found'
3. 修改字典
可以通过键来修改字典中的元素:
d = {'name': 'John', 'age': 25, 'city': 'New York'}
d['age'] = 30 # 修改 age 的值为 30
print(d) # 输出 {'name': 'John', 'age': 30, 'city': 'New York'}
4. 添加元素
可以使用键来添加新的元素:
d = {'name': 'John', 'age': 25, 'city': 'New York'}
d['phone'] = '123456789' # 添加新的键值对
print(d) # 输出 {'name': 'John', 'age': 25, 'city': 'New York', 'phone': '123456789'}
5. 删除元素
可以使用 `del` 关键字来删除元素:
d = {'name': 'John', 'age': 25, 'city': 'New York'}
del d['age'] # 删除 age 元素
print(d) # 输出 {'name': 'John', 'city': 'New York'}
还可以使用 `pop()` 方法来删除元素,该方法会返回对应键的值:
d = {'name': 'John', 'age': 25, 'city': 'New York'}
age = d.pop('age') # 删除 age 元素,并返回 age 的值
print(age) # 输出 25
print(d) # 输出 {'name': 'John', 'city': 'New York'}
6. 遍历字典
可以使用 `for` 循环来遍历字典:
d = {'name': 'John', 'age': 25, 'city': 'New York'}
for key in d:
print(key, d[key])
还可以使用 `keys()`、`values()`、`items()` 方法来获取字典的键、值、键值对,进行遍历:
d = {'name': 'John', 'age': 25, 'city': 'New York'}
# 遍历键
for key in d.keys():
print(key)
# 遍历值
for value in d.values():
print(value)
# 遍历键值对
for item in d.items():
print(item)
# 使用拆包
for key, value in d.items():
print(key, value)
7. 字典推导式
可以使用字典推导式快速创建字典:
d = {x: x * x for x in range(1, 6)}
print(d) # 输出 {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
8. 其他方法
- `len()` 返回字典的长度。
- `clear()` 删除字典中所有元素。
- `copy()` 返回字典的浅复制。
- `update()` 将一个字典的键值对更新到另一个字典中。
d1 = {'name': 'John', 'age': 25}
d2 = {'phone': '123456789', 'city': 'New York'}
# 更新 d1 字典
d1.update(d2)
print(d1) # 输出 {'name': 'John', 'age': 25, 'phone': '123456789', 'city': 'New York'}
9. 总结
Python 字典是一种非常重要的数据类型,在实际开发中经常用到。掌握字典的基本用法,可以使代码更加简洁、易读,提高编程效率。