如何在词典中添加词典列表

时间:2019-11-14 06:01:55

标签: python list dictionary

这是我的字典

final_dic=dict()
final_dic['ID']=""

所以字典是final_dic = {'ID':''}

我想将包含列表的字典附加到final_dic值中,但是当我尝试得到错误时

TypeError: unhashable type: 'list'

那我该如何追加呢?

这是我的字典

{40: ['{CODE:675, RANK:1}', '{CODE:924, RANK:2}']}

所以我期望结果

final_dic={'ID':'{40: ['{CODE:675, RANK:1}', '{CODE:924, RANK:2}']}'}

4 个答案:

答案 0 :(得分:0)

您可以为字典中的键分配任何值。

d = dict()
d['Key'] = [1, 2, 3]

列表可以是这样的字典列表

d['Key'] = [{'ID': 1}, {'ID': 2}, {'ID': 3}]

如果您要为这样的键分配字典

d['Key'] = {'KEY': [{'ID': 1}, {'ID': 2}, {'ID': 3}]}

在您预期的结果中,您提到了

  

final_dic = {'ID':'{40:['{CODE:675,RANK:1}','{CODE:924,RANK:2}']}'}

'{40: ['{CODE:675, RANK:1}', '{CODE:924, RANK:2}']}'是一个字典,它被转换为字符串。您可以像这样将字典转换为字符串

import json
dict_to_json = json.dumps(any dictionay)

答案 1 :(得分:0)

您需要逐步进行操作:

final_dic = dict()
final_dic['ID'] = ''
tmp_ls = ['{CODE:675, RANK:1}', '{CODE:924, RANK:2}']
tmp_dic[40] = tmp_ls
final_dic['ID'] = tmp_dic

您将得到以下结果:

>>> final_dic
{'ID': {40: ['{CODE:675, RANK:1}', '{CODE:924, RANK:2}']}}

答案 2 :(得分:0)

根据您的期望,您需要将其作为字符串。因此,请尝试final_dic['ID']='{}'.format({40: ['{CODE:675, RANK:1}', '{CODE:924, RANK:2}']})

print(final_dic)

您将得到

{
 "ID": '{40: ['{CODE:675, RANK:1}', '{CODE:924, RANK:2}']}'
}

答案 3 :(得分:0)

您可以像这样更新字典:

final_dic = dict()
final_dic['ID'] = ''
tmp_dict = {40 : ['{CODE:675, RANK:1}', '{CODE:924, RANK:2}']}
final_dic.update({'ID' : tmp_dict})

然后您将获得输出:

>>> final_dic
{'ID': {40: ['{CODE:675, RANK:1}', '{CODE:924, RANK:2}']}}