你好,我是GCSE学生,我正在尝试填充一个空的2D数组
这是下面的代码:
#Array
Days = ["Mon1","Tue1","Wed1","Thu1","Fri1","Mon2","Tue2","Wed2","Thu2","Fri2","Mon3","Tue3","Wed3","Thu3","Fri3","Mon4","Tue4","Wed4","Thu4","Fri4"]
Buses = ["Bus A","Bus B","Bus C","Bus D","Bus E","Bus F"]
BusData = [ [], [], [], [], #Bus A
[], [], [], [], #Bus B
[], [], [], [], #Bus C
[], [], [], [], #Bus D
[], [], [], [], #Bus E
[], [], [], [] ] #Bus F
所以我想做的是用数字填充总线数据数组。我开始做这样的事情:
for i in range(Buses): #Input
ChosenDay = input("Enter day [Format: Day(week number)]")
ChosenBus = input("Enter bus [Bus A - Bus B]")
Data = input("input data")
BusData[0].append(Data)
print(BusData)
但是我认为在出现这样的错误时它不会那样工作。
对于范围内的我(公交):#Input TypeError:“列表”对象不能为
解释为整数
有没有一种方法可以遍历列表中没有任何数字的列表?以及如何以GCSE格式填充2D列表。抱歉,如果不清楚,我还是gcse学生。
答案 0 :(得分:0)
您需要做的就是
for i in Buses
不需要范围位。你也可以做
for i in range(len(Buses))
但是我不明白为什么您只能使用前者呢?
答案 1 :(得分:0)
python range
必须接收一个时间间隔,例如:range(1,10)。或者只是一个整数:range(10),它表示0作为间隔的开始。在您的情况下,您应该在传递整数或间隔时将列表对象传递给函数范围。
要更正您的代码,只需输入for i in range(len(Buses))
而不是for i in range(Buses)
。
因此,for
将从0迭代到“总线”列表的长度1。