Python中的字典(Dictionary)是一种高效的数据结构,主要用于存储键值对(key-value pairs)。以下是其核心用法及实用技巧的总结:
一、基础概念与结构
存储方式 字典通过键(key)唯一标识值(value),类似电话号码簿的映射关系。例如:
```python
person = {"name": "Alice", "age": 25, "city": "New York"}
```
其中 `"name"` 是键,`"Alice"` 是对应的值。
数据特性
- 键值对存储: 每个键唯一,值可以是任意类型(如数字、字符串、列表等)。 - 无序性
- 可变性:可随时添加、修改或删除键值对。
二、创建字典
花括号语法 ```python
student = {"name": "小明", "age": 18, "score": 95}
```
`dict()`函数
- 关键字参数:
```python
student = dict(name="小明", age=18, score=95)
```
- 可迭代对象:
```python
pairs = [('name', '小明'), ('age', 18)]
student = dict(pairs)
```
字典推导式
一行代码生成复杂字典,提升效率。例如生成平方数字典:
```python
squares = {x: x 2 for x in range(5)} 输出: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16} ``` 三、访问与操作 通过键访问值
```python
print(student["name"]) 输出: 小明
```
安全访问(推荐使用`get()`方法)
```python
print(student.get("score", "暂无成绩")) 输出: 暂无成绩
```
修改与删除
- 添加/修改:
```python
student["age"] = 19
student["grade"] = "A"
```
- 删除:
```python
del student["age"]
```
遍历字典
- 遍历键值对:
```python
for key, value in student.items():
print(f"{key}: {value}")
```
- 仅遍历键:
```python
for key in sorted(student.keys()):
print(key)
```
- 仅遍历值(去重):
```python
for value in set(student.values()):
print(value)
```
四、性能优化技巧
使用`get()`避免KeyError
```python
print(student.get("gender", "未知")) 输出: 未知
```
字典推导式优化
对大规模数据集,字典推导式比循环更高效。例如过滤偶数:
```python
even_squares = {x: x 2 for x in range(10) if x % 2 == 0} ``` 嵌套字典与列表
- 嵌套字典:
```python
courses = {
"math": {"grade": "A", "credits": 4},
"english": {"grade": "B", "credits": 3}
}
```
- 列表存储值:
```python
student["hobbies"] = ["reading", "coding", "gaming"]
```
五、其他实用场景
数据验证: 在添加键值对前检查键是否存在,避免覆盖原有数据。- 文件存储
通过以上方法,字典可灵活应对数据存储、检索及动态更新需求,是Python编程中不可或缺的工具。