让我假设我从这本词典开始:
mydict = {
'a': [[2,4], [5,6]],
'b': [[1,1], [1,7,9], [6,2,3]],
'c': [['a'], [4,5]],
}
我如何将价值追加到' a'但是如果我需要让他们说出来,那就能够添加一把新密钥。我试过的是
plus_min_dict = {}
plus_min_dict[key] = reference_dataset[key][line_number]
但是它只给了每个键一个值=
显然已经破坏了以前的值,我想更新或追加但如果它不存在仍然能够创建一个新的
编辑:为了澄清,我们假设这是我的初始词典:
mydict = {
'a': [[2,4]],}
我用其他字典进行其他计算,我们假设它是:
second_dict = {
'a': [ [5,6]],
'b': [[1,1], [1,7,9]],
'c': [['a'], [4,5]],
}
这些计算表明我对[5,6]的' a'和[1,7,9]的' b'所以我想让mydict成为:
mydict = {
'a': [[2,4], [5,6]],
'b': [[1,7,9]],
}
答案 0 :(得分:1)
如果我理解你的问题,如果密钥已经存在,你想在字典中附加一个新值。如果是这样,我会使用defaultdict
这个原因很简单。使用defaultdict
,您可以使用方法+ =来创建(如果不存在)或添加(如果存在)元素:
from collections import defaultdict
# Your dictionaries
mydict = {
'a': [[2,4], [5,6]],
'b': [[1,1], [1,7,9], [6,2,3]],
'c': [['a'], [4,5]],
}
plus_min_dict = {'a': [[3,3]]}
# d is a DefaultDict containing mydict values
d=defaultdict(list,mydict)
# d_new is a DefaultDict containing plus_min_dict dict
d_new = defaultdict(list, plus_min_dict)
# Add all key,values of d in d_new
for k, v in d.items():
d_new[k] += d[k]
print(d_new)
结果:
defaultdict(<class 'list'>, {'c': [['a'], [4, 5]], 'a': [[3, 3], [2, 4], [5, 6]], 'b': [[1, 1], [1, 7, 9], [6, 2, 3]]})
答案 1 :(得分:0)
要将项目追加到'a'
,您可以执行以下操作:
mydict['a'] += ['test_item']
或者:
mydict['a'].append('test_item')
答案 2 :(得分:0)
你可以追加:
mydict = {
'a': [[2,4], [5,6]],
'b': [[1,1], [1,7,9], [6,2,3]],
'c': [['a'], [4,5]],
}
mydict['a'].append([7,8])
mydict['d'] = [0,1]
print(mydict)
答案 3 :(得分:0)
使用if else循环
mydict = {'a': [[2,4]],}
second_dict = {
'a': [ [5,6]],
'b': [[1,1], [1,7,9]],
'c': [['a'], [4,5]]}
missing_values = {
'a': [5,6],
'b': [1,7,9]}
for key, value in missing_values.items():
if key in mydict:
mydict[key ].append(value)
else:
mydict[key ] = [value]
print(mydict)
结果:
{'a': [[2, 4], [5, 6]], 'b': [[1, 7, 9]]}