我正在使用Visual Studio Code运行python程序,其数据如下所示:
data = {
[0, 0, 0] : 0,
[0, 0, 1] : 0,
[0, 1, 0] : 0,
[0, 1, 1] : 0,
[1, 0, 0] : 1,
[1, 0, 1] : 1,
[1, 1, 0] : 1,
[1, 1, 1] : 1
}
但是当我运行它时,它给了我错误:
TypeError:不可散列的类型:“列表”
如何将列表存储在字典中?我感觉列表不能是键,但是我想要这样的东西,而不是每个列表的变量。
答案 0 :(得分:4)
字典中的键必须是不变的。列表是可变的,因此它们不能是键。 您可以将它们更改为元组。
答案 1 :(得分:3)
您至少需要元组而不是列表,所以:
data = {
(0, 0, 0) : 0,
...
}
请注意括号,而不是方括号。元组就像列表一样,只是不可变的,可以轻松地用作字典中的键。
答案 2 :(得分:1)
您可以改用tuples
data = {
(0, 0, 0) : 0,
(0, 0, 1) : 0,
(0, 1, 0) : 0,
(0, 1, 1) : 0,
(1, 0, 0) : 1,
(1, 0, 1) : 1,
(1, 1, 0) : 1,
(1, 1, 1) : 1
}