将值追加到已经存在的字典中

时间:2019-08-23 08:59:47

标签: python-3.x

我有一个字典,我想将值更新为已经存在的键

我已经跟踪了堆栈溢出中的一些链接,但它没有解决我的问题。您可以在下面的部分中看到我所做的。我已经尝试过添加并设置默认值

each_dict.setdefault('st',[]).append(5)

我想到了从堆栈溢出的其他链接追加和设置默认值的想法,但这没用

my_dict = [{'id':1,'name':'aa','st':1,'et':2},{'id':2,'name':'bb','st':3,'et':6}
for each_dict in my_dict:
      each_dict['st'].append(3)

我的预期结果是:

my_dict = [{'id':1,'name':'aa','st':1,3,6,7'et':2,8,9,10},{'id':2,'name':'bb','st':3,9,'et':6,10}

但是错误消息是:

  

int对象没有附加属性

1 个答案:

答案 0 :(得分:1)

一种解决方案:

my_dict = [{'id':1,'name':'aa','st':1,'et':2},{'id':2,'name':'bb','st':3,'et':6}]
for each_dict in my_dict:
    if type(each_dict['st']) == list:
        each_dict['st'].append(3)
    else:
        each_dict['st'] = [each_dict['st'], 3]

print (my_dict)

输出:

[{'id': 1, 'name': 'aa', 'st': [1, 3], 'et': 2}, {'id': 2, 'name': 'bb', 'st': [3, 3], 'et': 6}]