Python 在字典中将字符串指定给整数

Python 在字典中将字符串指定给整数,python,Python,我想给字典中的整数分配一个字符串,但我得到了一个错误 这是我的代码: dictionary = {} dictionary[0] = 0 dictionary[0]['name'] = 'John' 这是我得到的错误: dictionary[0]['name']='John' TypeError:“int”对象不支持项分配 如何将字符串分配给整数?此代码字典[0]=0正在将键0分配给值0。如果您想要一个多级字典,您需要将0键实际分配给另一个字典 你需要这样的东西: dictionary =

我想给字典中的整数分配一个字符串,但我得到了一个错误

这是我的代码:

dictionary = {}
dictionary[0] = 0
dictionary[0]['name'] = 'John'
这是我得到的错误:

dictionary[0]['name']='John'
TypeError:“int”对象不支持项分配

如何将字符串分配给整数?

此代码
字典[0]=0
正在将键
0
分配给值
0
。如果您想要一个多级字典,您需要将
0
键实际分配给另一个字典

你需要这样的东西:

dictionary = {}
dictionary[0] = {}
dictionary[0]['name'] = 'John'
user_list = []
user_list[0] = {}
user_list[0]['name'] = 'John'
user_list = [{'name': 'John'}]
这会让你得到一些有用的东西,但听起来你可能真的想要一个字典列表。大概是这样的:

dictionary = {}
dictionary[0] = {}
dictionary[0]['name'] = 'John'
user_list = []
user_list[0] = {}
user_list[0]['name'] = 'John'
user_list = [{'name': 'John'}]
python也不鼓励使用这么多行来初始化一件事情,因此最终代码应该是这样的:

dictionary = {}
dictionary[0] = {}
dictionary[0]['name'] = 'John'
user_list = []
user_list[0] = {}
user_list[0]['name'] = 'John'
user_list = [{'name': 'John'}]

输出:{0:{'name':'John'}

您执行了
字典[0]=0
,然后尝试
字典[0]['name']='John'
。但是元素
字典[0]
不是字典,因此不能使用键
名称访问元素。首先,必须创建要分配给键为
0
的元素的字典:

dictionary = {}
dictionary[0] = {}
dictionary[0]['name'] = 'John'

您尝试混合不同的内容,并将一维字典用作二维字典。解决方案可以是创建字典列表:

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]

我认为您应该使用一个内置的dictionary子类,它将使dictionary中的每个条目成为另一个dictionary,该dictionary将自动在外部的dictionary中创建条目:

from collections import defaultdict

dictionary = defaultdict(dict)
dictionary[0]['name'] = 'John'
dictionary[1]['name'] = 'Paul'
dictionary[2]['name'] = 'George'
# ... etc

“我如何将字符串赋给整数?”这到底是什么意思?您正在尝试将值赋给一个值。