我有这个简单的程序:
x = {}
x[1,2] = 3
print x
print x[1,2]
工作正常。第print
个{(1,2):3}
生成3
,第二个生成list indices must be integers, not tuple
。
但是在我的“大”程序中,我似乎做了同样的事情,但得到了{{1}}错误。此错误消息的含义以及如何解决此问题?
答案 0 :(得分:12)
如果您收到该错误,那么您正在尝试索引列表,而不是字典。
Python列表(如[1, 2, 3]
)必须使用整数值编制索引。字典是您示例中的字典,可以通过更广泛的不同值进行索引。
答案 1 :(得分:6)
请注意x={}
将x
定义为词典,而不是列表(可以将任何哈希值作为键,并使用语法糖转换{{1}转到d[key1,key2]
)。
但请参阅numpy,它允许使用多维数组,如果这真的是你想要的那样。
答案 2 :(得分:2)
x = {}
这会创建一个字典,而不是列表。
x[1,2] = 3
将值3分配给键(1,2)元组。
列表只能用整数索引。也许你用你的词典混淆了[]和{}?