多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# Python 多重字典示例 – 将单个键映射到字典中的多个值 > 原文: [https://howtodoinjava.com/python/multidict-key-to-multiple-values/](https://howtodoinjava.com/python/multidict-key-to-multiple-values/) ## 1.什么是多重字典 在 python 中,“**多重字典**”一词用于指代字典,在其中可以将**单键映射到多个值**。 例如: ```py multidictWithList = { 'key1' : [1, 2, 3], 'key2' : [4, 5] } multidictWithSet = { 'key1' : {1, 2, 3}, 'key2' : {4, 5} } ``` 1\. 如果您想保留项目的插入顺序,请使用`List`。 2\. 如果您想消除重复项(并且不关心顺序),请使用`Set`。 ## 2\. 多重字典示例 要轻松构造此类词典,可以在`collections`模块中使用`defaultdict`。 `defaultdict`的功能是它会自动初始化第一个值,因此您只需专注于添加项目即可。 ```py 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]) ``` 学习愉快!