📜  Python – 在字典中追加多类型值(1)

📅  最后修改于: 2023-12-03 15:19:05.090000             🧑  作者: Mango

Python – 在字典中追加多类型值

有时我们需要往一个字典中添加键值对,而这个值是多类型的,可能是一个列表、元组或者是一个字典。在Python中,我们可以使用一些简单的方法来实现这个目的。

方法一:使用字典的.setdefault()方法添加多个值
my_dict = {}
my_dict.setdefault('my_key', []).append(1)
my_dict.setdefault('my_key', []).append('two')
my_dict.setdefault('my_key', []).append({'three': 3})
print(my_dict) # {'my_key': [1, 'two', {'three': 3}]}

如果字典中不存在键为'my_key'的键值对,那么我们通过setdefault()方法添加一个值为[]的键值对。[]是一个空列表,然后我们就可以在这个列表中添加多个值。

方法二:使用collections模块中的defaultdict()方法
from collections import defaultdict

my_dict = defaultdict(list)
my_dict['my_key'].append(1)
my_dict['my_key'].append('two')
my_dict['my_key'].append({'three': 3})
print(my_dict) # defaultdict(<class 'list'>, {'my_key': [1, 'two', {'three': 3}]})

collections模块中的defaultdict()方法可以指定一个默认类型,这里我们使用list作为默认类型。如果my_dict中不存在键为'my_key'的键值对,那么会自动创建一个空列表,并且我们可以在这个列表中添加多个值。

方法三:使用dict.setdefault()方法添加多个类型值
my_dict = {}
my_dict.setdefault('my_key', []).append(1)
my_dict.setdefault('my_key', []).append('two')
my_dict.setdefault('my_key', []).append({'three': 3})
my_dict.setdefault('my_another_key', {}).setdefault('my_nested_key', []).append('nested_value')
print(my_dict) # {'my_key': [1, 'two', {'three': 3}], 'my_another_key': {'my_nested_key': ['nested_value']}}

我们可以嵌套使用setdefault()方法来创建多层字典,并且在其中添加多个类型的值。

以上是Python中添加多类型值到字典的几种方法。当我们需要在字典中添加多类型值时,可以根据实际需求选用相应的方法。