Python 我能在一本字典里有3个元素吗
如果我有两本字典Python 我能在一本字典里有3个元素吗,python,Python,如果我有两本字典 opt1 = {"A" : 1, "B" : 1, "C" : 1, } opt2 = {"A" : "b", "B" : "n", "C" : "m", } 除了制作一本列表词典,还有什么我可以把它做成一本词典的吗?所以它会像。。(我知道这不管用……) 将defaultdict与列表一起使用 from collections import defaultdict d = defaultdict(list) fo
opt1 = {"A" : 1,
"B" : 1,
"C" : 1,
}
opt2 = {"A" : "b",
"B" : "n",
"C" : "m",
}
除了制作一本列表词典,还有什么我可以把它做成一本词典的吗?所以它会像。。(我知道这不管用……)
将defaultdict与列表一起使用
from collections import defaultdict
d = defaultdict(list)
for opt in (opt1, opt2,):
d.update(opt)
您可以添加任意数量的项目
如果您想要快速测试值的存在性,不需要重复值,并且不需要保持插入顺序,也可以使用defaultdict(set)。如果您想要这样的内容:(元组作为值),如: 这里有一个非常基本的方法
opt2_2 = {key:(opt1[key], opt2[key]) for key in opt1.keys()}
这假设键集是相同的(或者至少1的所有键也是2的键,并且您不关心不在1中的2的键。更复杂的理解将抓住这一点,但我在这里保持简单。您可以这样做:
opt = {}
for i in opt1:
opt[i] = [opt1[i], opt2[i]]
这样,opt
将具有值{'A':[1,'b'],'C':[1,'m'],'b':[1,'n']}
制作这样的词典是不可能的:
opt = {"A" : 1 : "b",
"B" : 2 : "n",
"C" : 3 : "m",
}
字典(
列表
,元组
,或集合
)是您的选项字典将键映射到值。“A”
是键,1
是值。如果希望值包含多个元素,请使用容器类型:{'A':[1,2]}
,{'A':(1,2)}
,等等。根据我想要的是哪一个,我将如何引用1或2?opt['A'][0]
对于1,opt['A'][1]
对于2{k:[opt1.get(k),opt2.get(k)]对于opt1中的k
@downvoter:你想告诉我为什么这是一个特别糟糕的答案吗?
opt2_2 = {key:(opt1[key], opt2[key]) for key in opt1.keys()}
opt = {}
for i in opt1:
opt[i] = [opt1[i], opt2[i]]
opt = {"A" : 1 : "b",
"B" : 2 : "n",
"C" : 3 : "m",
}