Python 为什么列表索引必须是整数而不是元组?
我有一个简单的程序:Python 为什么列表索引必须是整数而不是元组?,python,list,dictionary,tuples,Python,List,Dictionary,Tuples,我有一个简单的程序: x = {} x[1,2] = 3 print x print x[1,2] 它很好用。第一个print生成{(1,2):3},第二个生成3 但是在我的“大”程序中,我似乎也这样做了,但是得到了一个列表,索引必须是整数,而不是元组错误。此错误消息的含义以及我如何解决此问题?如果您遇到此错误,则您正在尝试为列表而不是词典编制索引 Python列表,如[1,2,3],必须用整数值索引。在您的示例中,字典可以由更大范围的不同值进行索引。请注意,x={}将x定义为字典,而不是列表
x = {}
x[1,2] = 3
print x
print x[1,2]
它很好用。第一个print
生成{(1,2):3}
,第二个生成3
但是在我的“大”程序中,我似乎也这样做了,但是得到了一个
列表,索引必须是整数,而不是元组错误。此错误消息的含义以及我如何解决此问题?如果您遇到此错误,则您正在尝试为列表而不是词典编制索引
Python列表,如[1,2,3]
,必须用整数值索引。在您的示例中,字典可以由更大范围的不同值进行索引。请注意,x={}
将x
定义为字典,而不是列表(可以将任何哈希表作为键,并使用语法糖将d[key1,key2]
转换为d[(key1,key2)]
)
但是,请参见,如果您真的想要多维数组,那么它允许多维数组
x = {}
这将创建字典,而不是列表
x[1,2] = 3
将值3指定给一个元组中的键(1,2)
列表只能由整数索引。也许你用口述把[]和{}混在一起了