为什么列表索引必须是整数,而不是元组?

2024-04-20 13:01:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个简单的程序:

x = {}
x[1,2] = 3
print x
print x[1,2]

它工作得很好。第一个生成print,第二个生成3

但在我的“大”程序中,我似乎也做了同样的事情,但得到了一个list indices must be integers, not tuple错误。此错误消息意味着什么?我如何解决此问题?


Tags: integers程序消息错误notbe事情list
3条回答

请注意,x={}x定义为一个字典,而不是一个列表(它可以有任何散列作为键,并且具有将d[key1,key2]转换为d[(key1,key2)]的语法糖)。

但是,请参见numpy,如果您真的想要多维数组,那么它允许多维数组。

x = {}

这会创建一个字典,而不是一个列表。

x[1,2] = 3

将值3赋给键(1,2)一个元组。

列表只能由整数索引。也许你用你的口述把[]和{}搞混了?

如果你得到了那个错误,那么你是在试图索引一个列表,而不是一个字典。

[1, 2, 3]这样的Python列表必须用整数值索引。字典,这是你在你的例子中所拥有的,可以被更大范围的不同值索引。

相关问题 更多 >