我想为字典中的整数分配一个字符串,但出现错误。
这是我的代码:
dictionary = {}
dictionary[0] = 0
dictionary[0]['name'] = 'John'
这是我得到的错误:
dictionary[0]['name'] = 'John'
TypeError: 'int' object does not support item assignment
如何将字符串分配给整数?
答案 0 :(得分:1)
dd = {}
dd[0] = 0
dd[0] = {'name':'John'}
出局:{0:{'name':'John'}}
答案 1 :(得分:0)
此代码dictionary[0] = 0
将键0
分配给值0
。如果要使用多级词典,则需要将0
键实际分配给另一本词典。
您将需要以下内容:
dictionary = {}
dictionary[0] = {}
dictionary[0]['name'] = 'John'
这会使您有所用,但是听起来您实际上可能想要字典列表。像这样:
user_list = []
user_list[0] = {}
user_list[0]['name'] = 'John'
在python中也不建议使用太多行来初始化单个对象,因此最终代码应该是这样的:
user_list = [{'name': 'John'}]
答案 2 :(得分:0)
您做了dictionary[0] = 0
,然后尝试了dictionary[0]['name'] = 'John'
。但是元素dictionary[0]
不是字典,因此您无法通过键name
访问该元素。首先,您必须使用键0
创建要分配给元素的字典:
dictionary = {}
dictionary[0] = {}
dictionary[0]['name'] = 'John'
答案 3 :(得分:0)
您正在尝试混合不同的内容,并使用1d词典作为2d。一个解决方案可能是创建词典列表:
l_dic = []
l_dic.append([0,{}])
l[0][1]['name'] = 'John'
通过这种方式,您可以继续添加以下元素:
l_dic[0][1]['surname'] = 'Wayne'
l_dic.append([123,{}])
l_dic[1][1]['name'] = 'Tom
l_dic[1][1]['surname'] = 'Inks'
以此类推...我明白了。 与'John'相关的整数是:
print l_dic[0][0]
答案 4 :(得分:0)
我认为您应该使用内置字典 subclass collections.defaultdict
,它将使字典中的每个条目成为另一个字典,这将自动在外部字典中创建条目:
from collections import defaultdict
dictionary = defaultdict(dict)
dictionary[0]['name'] = 'John'
dictionary[1]['name'] = 'Paul'
dictionary[2]['name'] = 'George'
# ... etc