abc = {}
abc[int: anotherint]
然后错误出现了。 TypeError:不可用的类型?为什么我收到这个? 我试过str()
答案 0 :(得分:8)
这似乎是一个语法问题:
>>> abc = {}
>>> abc[1] = 2
>>> abc
{1: 2}
>>> abc = {1:2, 3:4}
>>> abc
{1: 2, 3: 4}
>>>
至少以下语法不正确
abc[int: anotherint]
我猜你想说
abc = [int: anotherint]
哪个也不对。正确的方法是
abc = {int: anotherint}
除非在这种情况下已定义abc
:
abc[int] = anotherint
也是一个有效的选项。
答案 1 :(得分:3)
有两个错误 - 首先你有一个逻辑错误 - 我真的不认为你想要int之间的字典切片(类型,这是不可用的[见下文])和数字anotherInt。当然不是这在python中是可能的,但这就是你想说的。
其次,假设你的意思是x [{int:anotherInt}]:
该错误意味着您不能将其用作字典中的键,因为规则python不喜欢您使用可变类型作为字典中的键 - 如果您稍后将内容添加到字典中会使事情变得复杂或列表......考虑以下非常令人困惑的例子:
x={}
x[x]=1
如果你试图下标那个你希望返回1的数组,你会期望这样做吗?
x[{}]
x[{x:x}]
x[{{}:x}]
x[x]
基本上,当散列可变类型时,你可以说,{} != {}
关于哈希值,因为它们存储在内存中的不同位置,或者你最终会出现奇怪的递归情况
答案 2 :(得分:1)
由于标题是附加的,并且没有一个答案提供了将字词附加到字典的解决方案,我试试看:
abc = {}
abc[1]= 2
abc['a'] = [3,9,27]
==> abc = {1:2, 'a':[3,9,27]}