📜  每个键的字典多个值 - Python (1)

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

每个键的字典多个值 - Python

Python中的字典是一种非常方便的数据结构,它可以将一个键映射到一个值。但是有时候我们需要在一个键下存储多个值,这时候可以使用Python中的一些数据结构来实现。

使用列表

第一种方法是在字典的值中使用列表来存储多个值。例如:

d = {'a': [1, 2], 'b': [3, 4]}

这样我们就可以通过d['a']来访问键'a'下面存储的两个值12。列表可以使用append()方法来添加值。

d['a'].append(3)

这样值就变成了[1, 2, 3]

使用集合

第二种方法是在字典的值中使用集合来存储多个值。可以使用Python的内置collections模块中的defaultdict类来实现。例如:

from collections import defaultdict

d = defaultdict(set)
d['a'].add(1)
d['a'].add(2)
d['b'].add(3)

这样每个键下面的值都是一个集合,可以使用add()方法来添加值。在上面的例子中,d的原始值是一个空的字典,当我们用d['a'].add(1)添加键值对时,Python会自动创建一个空的集合,并让d['a']指向这个集合。

使用元组

第三种方法是在字典的值中使用元组来存储多个值。例如:

from collections import defaultdict

d = defaultdict(list)
d['a'].append((1, 'one'))
d['a'].append((2, 'two'))
d['b'].append((3, 'three'))

这样每个键下面的值都是一个元组,可以使用append()方法来添加值。在上面的例子中,d的原始值是一个空的字典,当我们用d['a'].append((1, 'one'))添加键值对时,Python会自动创建一个空的列表,并让d['a']指向这个列表。

无论使用哪种方法,我们都可以很轻松地在一个键下面存储多个值。