Python 多重字典示例 – 将单个键映射到字典中的多个值
Python 多重字典示例 – 将单个键映射到字典中的多个值
1.什么是多重字典
在 python 中,“多重字典”一词用于指代字典,在其中可以将单键映射到多个值。 例如:
multidictWithList = {
'key1' : [1, 2, 3],
'key2' : [4, 5]
}
multidictWithSet = {
'key1' : {1, 2, 3},
'key2' : {4, 5}
}
1. 如果您想保留项目的插入顺序,请使用List
。
2. 如果您想消除重复项(并且不关心顺序),请使用Set
。
2. 多重字典示例
要轻松构造此类词典,可以在collections
模块中使用defaultdict
。 defaultdict
的功能是它会自动初始化第一个值,因此您只需专注于添加项目即可。
from collections import defaultdict
d1 = defaultdict(list) #list backed multidict
d1['key1'].append(1)
d1['key1'].append(2)
d1['key1'].append(3)
d1['key2'].append(4)
d1['key2'].append(5)
d2 = defaultdict(set) #set backed multidict
d2['key1'].add(1)
d2['key1'].add(2)
d2['key1'].add(3)
d2['key2'].add(4)
d2['key2'].add(5)
>>> d1
defaultdict(<type 'list'>, {'key2': [4, 5], 'key1': [1, 2, 3]})
>>> d1['key1']
[1, 2, 3]
>>> d2
defaultdict(<type 'set'>, {'key2': set([4, 5]), 'key1': set([1, 2, 3])})
>>> d2['key1']
set([1, 2, 3])
评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果