有没有一种方法可以将值存储在一个具有多个可选值的字典键中



我想做这样的事情:

my_dict = {
('a'|'b'|'c') : 1
}

很明显,这是行不通的,但我想知道是否有其他方法可以与写出来的方法相同或更有效:

my_dict = {
'a' : 1,
'b' : 1,
'c' : 1
}

有什么想法吗?

您可以使用dict.fromkeys创建一个具有多个键的字典,所有键都映射到同一个值。

第一个参数是一系列键;第二个参数是值。

>>> dict.fromkeys('abc', 1)
{'a': 1, 'b': 1, 'c': 1}

'abc'是一个键序列,因为在这种情况下,所有的键都是一个字符的字符串。更一般地,您可以使用元组或列表:

>>> dict.fromkeys(['a','b','c'], 1)
{'a': 1, 'b': 1, 'c': 1}

(注意:如果您的值是可变的,那么以这种方式创建dict可能会导致问题,因为所有键都引用相同的值对象。(

创建一个包含3个关键字的字典,所有关键字的值都为1:

x = ('a', 'b', 'c')
y = 1
thisdict = dict.fromkeys(x, y)
print(thisdict)

最新更新