【发布时间】:2020-04-07 18:31:06
【问题描述】:
我的源代码如下,它是 Python 脚本语言:
d = [frozenset({[[1]*2, (2, 3)*3]*4}), {5, }, {6: '', 9: " "}]
print(d, sep = '\t')
for k in d:
print(k, type(k), sep = '\t')
我的输出信息如下:
"C:\Program Files\Python37\python.exe" E:/Observations/LISTS/basics.py
Traceback (most recent call last):
File "E:/Observations/LISTS/basics.py", line 144, in <module>
d = [frozenset({[[1]*2, (2, 3)*3]*4}), {5, }, {6: '', 9: " "}]
TypeError: unhashable type: 'list'
Process finished with exit code 1
【问题讨论】:
-
您试图将一个可变列表对象放入一个集合中,这是您无法做到的。你想做什么?
-
但是,根据python内置的数据结构特性,每个数据结构都可能包含任何其他数据结构,我的目的是观察哪个数据结构包含所有其他数据结构,包括那个,并注意它们作为复合数据结构出现的顺序。
-
这不是真的。我不确定你是从哪里听到的。一般来说,可变对象不能是集合或字典的键,或者在任何其他需要对结构进行散列的上下文中。
标签: python list dictionary typeerror