你好,我是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)但我认为它不会像那样工作,因为我遇到了这样一个错误。
对于I在范围(总线):#输入TypeError:‘列表’对象不能是 解释为整数
有没有一种方法可以循环遍历一个不包含任何数字的列表?以及如何以GCSE格式填充2D列表。对不起,如果这还不清楚,我还是gcse的学生。
发布于 2019-01-21 17:06:31
你要做的就是
for i in Buses不需要距离位。你也可以
for i in range(len(Buses))但我不明白你为什么要这么做,因为你可以用前者。
发布于 2019-01-21 17:14:28
python range必须接收一个间隔,如: range(1,10)。或者只是一个整数: range(10),这意味着0作为间隔的开头。在这种情况下,您要将一个list对象传递给函数范围,而此时您应该传递一个整数或一个间隔。
要更正您的代码,只需使用for i in range(len(Buses))而不是for i in range(Buses)。
因此,for将从0迭代到总线列表的长度-1。
https://stackoverflow.com/questions/54294689
复制相似问题