下面是对“Python字典一个键对应多个值的方法”的详细解释和示例说明:
方法一:使用列表存储多个值
可以使用列表作为字典中一个键对应的多个值。具体实现方法是,在初始化字典时,将每个键(key)对应的值(value)设为一个空列表([]),当需要往字典中添加一个新的键值时,将新的值直接追加到该键对应的列表中。
示例代码如下:
dict_1 = {'key1': [], 'key2': []} # 初始化字典,每个键对应一个空列表
dict_1['key1'].append('value1') # 向key1对应的列表中添加新值value1
dict_1['key1'].append('value2') # 再向key1对应的列表中添加新值value2
dict_1['key2'].append('value3') # 向key2对应的列表中添加新值value3
dict_1['key2'].append('value4') # 再向key2对应的列表中添加新值value4
print(dict_1) # 输出整个字典
上述代码的输出结果为:
{'key1': ['value1', 'value2'], 'key2': ['value3', 'value4']}
可以看到,字典dict_1中的key1对应一个包含两个值value1和value2的列表,而key2对应一个包含两个值value3和value4的列表。
方法二:使用collections模块的defaultdict
还可以使用Python内置的collections模块中的defaultdict类来实现字典的一个键对应多个值。defaultdict和普通字典(dict)的区别在于,当访问不存在的键值时,后者会报KeyError,而前者会自动创建一个默认值作为键值,并返回这个默认值。如果默认值是一个列表,那么每个键就可以对应一个列表,用于存储多个值。
示例代码如下:
from collections import defaultdict
dict_2 = defaultdict(list) # 初始化字典,每个键对应一个空列表
dict_2['key1'].append('value1') # 向key1对应的列表中添加新值value1
dict_2['key1'].append('value2') # 再向key1对应的列表中添加新值value2
dict_2['key2'].append('value3') # 向key2对应的列表中添加新值value3
dict_2['key2'].append('value4') # 再向key2对应的列表中添加新值value4
print(dict(dict_2)) # 将defaultdict转换为普通字典并输出
上述代码的输出结果与前一种方法相同:
{'key1': ['value1', 'value2'], 'key2': ['value3', 'value4']}
可以看到,使用defaultdict类比第一种方法更加简洁和便捷。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python 字典一个键对应多个值的方法 - Python技术站