Python multidict示例–将单个键映射到字典中的多个值
Python multidict 示例–将单个键映射到字典中的多个值
系列教程导航
- Python基础教程
- 在SublimeEditor中配置Python环境
- Python代码中添加注释
- Python中的变量的使用
- Python中的数据类型
- Python中的关键字
- Python字符串操作
- Python中的list操作
- Python中的Tuple操作
- Pythonmax()和min()–在列表或数组中查找最大值和最小值
- Python找到最大的N个(前N个)或最小的N个项目
- Python读写CSV文件
- Python中使用httplib2–HTTPGET和POST示例
- Python将tuple开箱为变量或参数
- Python开箱Tuple–太多值无法解压
- Pythonmultidict示例–将单个键映射到字典中的多个值
- PythonOrderedDict–有序字典
- Python字典交集–比较两个字典
- Python优先级队列示例
1. 什么是 multidict 词典
在 Python 中,"multidict"一词用于指代一种特殊的字典结构,在这种字典中可以将单个键映射到多个值。例如:
multidictWithList = {
'key1': [1, 2, 3],
'key2': [4, 5]
}
multidictWithSet = {
'key1': {1, 2, 3},
'key2': {4, 5}
}在选择底层数据结构时,建议遵循以下原则:
- 如果要保留项目的插入顺序,请使用
list。 - 如果要消除重复项(并且不关心顺序),请使用
set。
2. multidict 词典构建示例
要轻松构建此类词典,可以使用 collections 模块中的 defaultdict。defaultdict 的功能在于它会自动初始化第一个值,因此您只需关注添加项目即可,无需手动检查键是否存在。
from collections import defaultdict
# list backed multidict
d1 = defaultdict(list.html)
d1['key1'].append(1.html)
d1['key1'].append(2.html)
d1['key1'].append(3.html)
d1['key2'].append(4.html)
d1['key2'].append(5.html)
# set backed multidict
d2 = defaultdict(set.html)
d2['key1'].add(1.html)
d2['key1'].add(2.html)
d2['key1'].add(3.html)
d2['key2'].add(4.html)
d2['key2'].add(5.html)
>>> d1
defaultdict(<type 'list'>, {'key2': [4, 5], 'key1': [1, 2, 3]}.html)
>>> d1['key1']
[1, 2, 3]
>>> d2
defaultdict(<type 'set'>, {'key2': set([4, 5].html), 'key1': set([1, 2, 3].html)})
>>> d2['key1']
set([1, 2, 3].html)学习愉快!
说明
本文示例中的输出格式(如<type 'list'>)基于 Python 2 环境。在 Python 3 中,类型显示通常为<class 'list'>,且set的字面量表示可能有所不同(如{1, 2, 3}),但defaultdict的核心用法保持一致。
版权声明:本文为原创文章,版权归 戴老师的博客 所有,转载请联系博主获得授权。
如果对本文有什么问题或疑问都可以在评论区留言,我看到后会尽量解答。