Python 在包含字符串的列表中循环

Python 在包含字符串的列表中循环,python,Python,你好,我是GCSE的学生,我正在尝试填充一个空的2D数组 代码如下: #Array Days = ["Mon1","Tue1","Wed1","Thu1","Fri1","Mon2","Tue2","Wed2","Thu2","Fri2","Mon3","Tue3&q

你好,我是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(总线):#输入类型错误:“列表”对象不能为空

解释为整数

有没有办法循环浏览一个不包含任何数字的列表?以及如何以GCSE格式填充二维列表。抱歉,如果不清楚,我仍然是gcse的学生。

您需要做的就是

for i in Buses
不需要范围位。你也可以这样做

for i in range(len(Buses))

但是我不明白为什么你会这样做,如果你可以只使用前者。

一个python
range
必须接收一个间隔,比如:range(1,10)。或者只是一个整数:range(10),它表示0是间隔的开始。在本例中,您将向函数范围传递一个列表对象,此时您应该传递一个整数或一个间隔

要更正您的代码,只需将i的
置于范围内(len(bus))
而不是i的
置于范围内(bus)


因此,的
将从0迭代到总线列表的长度-1。

范围(len(总线))
您应该在总线中尝试i:
总线
是一个列表。您希望它在
范围内如何工作?但我不明白你为什么要重复这个问题。我想让它重复几天,因为你应该弄清楚你想知道什么,现在删除问题,编辑成形状,以后再取消删除。“不断发展”的问题会让你投反对票,因为这些问题不可回答。@karimousa如果它解决了你的问题,你可以单击绿色复选标记接受答案。