遍历包含字符串的列表

时间:2019-01-21 17:04:43

标签: python

你好,我是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学生。

2 个答案:

答案 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。