为什么我不能做以下事情:
a = (1,2,3) dict[a] = 'hi' TypeError: 'type' object does not support item assignment
DSM.. 7
有可能.问题是你正在尝试访问dict
类型本身的项目.
>>> a = (1,2,3) >>> d = {} >>> d[a] = "hi" >>> d {(1, 2, 3): 'hi'}
正如@mgilson所说:"只要所有元素都可以进行哈希处理,就可以对元组进行哈希处理."
(请注意,您永远不应该命名您的词典dict
或列表list
等.这会影响内置名称,并且它们通常很方便,例如dict(zip(keys, values))
.)
您可以使用元组作为键(只要其所有项都可以清除):
>>> a = (1,2,3) >>> b = {a:'hi'} >>> b[(1,2,3)] 'hi' >>>
您的问题是您正在尝试索引内置函数dict
:
>>> dict <type 'dict'> >>>
有可能.问题是你正在尝试访问dict
类型本身的项目.
>>> a = (1,2,3) >>> d = {} >>> d[a] = "hi" >>> d {(1, 2, 3): 'hi'}
正如@mgilson所说:"只要所有元素都可以进行哈希处理,就可以对元组进行哈希处理."
(请注意,您永远不应该命名您的词典dict
或列表list
等.这会影响内置名称,并且它们通常很方便,例如dict(zip(keys, values))
.)