头歌python字典翻转教学
时间: 2025-06-05 15:39:49 浏览: 17
### Python 字典翻转教程与示例
在 Python 中,字典是一种非常灵活的数据结构,用于存储键值对。当需要将字典中的键和值互换位置时,可以实现所谓的“字典翻转”。需要注意的是,在原始字典中可能存在多个相同的值对应不同的键的情况,因此翻转后的结果通常是一个嵌套列表形式的字典。
以下是基于给定需求的一个具体实现方法:
#### 方法描述
通过遍历原字典的所有键值对 `(key, value)`,构建一个新的字典 `reverse`,其中每个值作为新字典的键,而对应的旧键则被存放在一个列表中[^2]。
#### 实现代码
以下是一段完整的 Python 示例代码,展示如何完成这一操作:
```python
def revert_dict(input_dict):
reversed_dict = {}
for key, value in input_dict.items():
if value not in reversed_dict:
reversed_dict[value] = []
reversed_dict[value].append(key)
return reversed_dict
# 测试输入
original_dict = {"a": 1, "b": 2, "c": 1, "d": "4"}
reversed_result = revert_dict(original_dict)
print(reversed_result)
```
运行以上代码会得到如下输出:
```
{1: ['a', 'c'], 2: ['b'], '4': ['d']}
```
此代码逻辑清晰地展示了如何处理具有重复值的字典,并将其转换为新的字典结构[^2]。
#### 进一步优化
如果希望简化代码并利用更高级的功能,则可以通过集合推导式来实现同样的功能:
```python
from collections import defaultdict
def revert_dict_optimized(input_dict):
reversed_dict = defaultdict(list)
for key, value in input_dict.items():
reversed_dict[value].append(key)
return dict(reversed_dict)
# 使用测试数据验证函数
test_data = {"alpha": 10, "beta": 20, "gamma": 10}
result = revert_dict_optimized(test_data)
print(result)
```
这段代码引入了 `defaultdict` 来自动初始化默认值为空列表的形式,从而进一步减少了冗余判断语句[^2]。
---
### 总结
无论是采用基础循环还是借助内置工具库的方式,都可以高效地解决字典翻转问题。最终的选择取决于实际应用场景以及个人偏好。
阅读全文
相关推荐

















