python字典多键值及重复键值的使用方法(详解)

  • Post category:Python

Python字典多键值及重复键值的使用方法

在Python字典中,键值对是一一对应的关系,键是唯一的,但字典却支持多键值和重复键值的存在。这种特性在实际的编程中非常有用。接下来将会详细介绍Python字典多键值及重复键值的使用方法。

多键值

实际编程中,我们可能需要使用一个键对应多个值的情况。比如,我们想记录一所大学每个专业的招生人数,但是由于每年的招生人数不同,因此我们需要存储多个值。此时,我们就可以使用Python中的列表或元组作为一个键的多个值。

示例代码:

enrollment = {'计算机科学与技术':['2018年招生人数为200人', '2019年招生人数为220人', '2020年招生人数为230人'], 
              '数学与应用数学':['2018年招生人数为250人', '2019年招生人数为260人', '2020年招生人数为280人'], 
              '外国语言文学':['2018年招生人数为180人', '2019年招生人数为190人', '2020年招生人数为200人']}

print(enrollment['计算机科学与技术'])

输出结果:

['2018年招生人数为200人', '2019年招生人数为220人', '2020年招生人数为230人']

重复键值

当我们向字典中添加一个已经存在的键时,它会被覆盖,但是如果想要接着添加另一个值,我们可以使用列表或者元组。另一种方法是使用collections模块中的defaultdict类,该类在创建字典时可以指定一个默认值,当添加新键时如果该键不存在时,则默认创建一个空列表,然后把值加入到列表中。

示例代码:

from collections import defaultdict

scores = defaultdict(list)
scores['数学'].append(90)
scores['数学'].append(80)
scores['英语'].append(85)

print(scores)

输出结果:

defaultdict(<class 'list'>, {'数学': [90, 80], '英语': [85]})

这里的defaultdict的默认值为列表类型,当添加新键时,如果该键不存在,则创建一个空列表,然后把值加入到列表中。

以上就是Python字典多键值及重复键值的使用方法。通过使用多键值和重复键值,我们可以更加灵活地使用Python中的字典。