猿问

如何防止 TypeError:列表索引必须是整数或切片,而不是二维数组中的元组?

我目前正在做 GCSE 案例研究,我需要代码方面的帮助。我正在尝试为一组数据创建一个二维数组。


这是代码:


#Array

Days = ["Mon1","Tue1","Wed1","Thu1","Fri1","Mon2","Tue2","Wed2","Thu2","Fri2","Mon3","Tue3","Wed3","Thu3","Fri3","Mon4","Tue4","Wed4","Thu4","Fri4"]

Buses = ["A","B","C","D","E","F"]

BusData = [ [0,0,0,2,2], [4,0,3,4,-2], [-5,0,0,3,4], [-1,8,1,1,-2],  #Bus A

            [0,1,0,0,1], [2,0,0,0,0], [1,0,0,0,2], [0,0,1,0,0],   #Bus B

            [2,0,-1,-1,-2], [-2,-3,-1,0,0], [-2,0,1,1,1], [1,-1,-1,2,-2] #Bus C

            [1,0,0,0,0], [0,0,0,0,0], [2,0,0,0,0], [0,0,0,0,0], #Bus D

            [-1,-1,-1,-2,-4], [-10,-2,0,0,0], [0,1,2,-3,1], [1,3,-1,0,0]  #Bus E

            [0,-5,-5,-5,-4], [-3,-5,0,0,0], [0,-2,-3,1,1], [1,0,0,-2,-5] ] #Bus F


for i in BusData:

    count = 0

    for x in i:

        if x < 0:

            count +=1

    print("Bus {} was late {} times".format(Buses[BusData.index(i)], count))

所以在我运行它之后,我得到这个错误:

因此,第 7 行(即#Bus D)中似乎存在错误,我不明白为什么?

如果有人能用简单的东西(GCSE 级别)回答我或修改我的代码,那将不胜感激,因为距离考试时间不多了!


慕容708150
浏览 237回答 1
1回答

摇曳的蔷薇

您缺少总线 C 和 E 数据末尾的逗号。这一行的末尾有一个逗号:[0,1,0,0,1],&nbsp;[2,0,0,0,0],&nbsp;[1,0,0,0,2],&nbsp;[0,0,1,0,0],&nbsp;&nbsp;&nbsp;#Bus&nbsp;B但这条线没有:[2,0,-1,-1,-2],&nbsp;[-2,-3,-1,0,0],&nbsp;[-2,0,1,1,1],&nbsp;[1,-1,-1,2,-2]&nbsp;#Bus&nbsp;C
随时随地看视频慕课网APP

相关分类

Python
我要回答