有没有一种方法可以将值存储在一个具有多个可选值的字典键中?
Is there a way to store values in one dictionary key that has multiple optional values?
我想做这样的事情:
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}
(N.B。如果您的值是可变的,以这种方式创建字典可能会导致问题,因为所有键都将引用相同的值对象。)
创建一个包含 3 个键的字典,所有键的值为 1:
x = ('a', 'b', 'c')
y = 1
thisdict = dict.fromkeys(x, y)
print(thisdict)
我想做这样的事情:
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}
(N.B。如果您的值是可变的,以这种方式创建字典可能会导致问题,因为所有键都将引用相同的值对象。)
创建一个包含 3 个键的字典,所有键的值为 1:
x = ('a', 'b', 'c')
y = 1
thisdict = dict.fromkeys(x, y)
print(thisdict)