Python索引问题导致KeyError:0

2024-06-28 22:03:51 发布

您现在位置:Python中文网/ 问答频道 /正文

注意:SEM1period1包含列表[“a”,“b”,“c”,“d”]就像可选列表一样,只是它作为一个数组传递到此函数中。在

中断似乎发生在while循环的第一个For语句处。程序返回KeyError:0

list1 = []
list2 = []
list3 = []

elecStorage = []

elective = ["a", "b", "c", "d"]
prereq = []

dict1 = {
1: SEM1period1, 2: SEM1period2,
3: SEM1period3, 4: SEM1period3,
4: SEM1period5, 6: SEM1period6,
7: SEM1period7, 8: SEM1period8
}

period1 = []
period2 = []
period3 = []
period4 = []
period5 = []
period6 = []
period7 = []
period8 = []

periodDict = { 
1: period1, 2: period2,
3: period3, 4: period4,
5: period5, 6: period6,
7: period7, 8: period8
}

someNumber = 0

while someNumber <= 7:
    for index in dict1[someNumber]: #Looks through the first through eigth SEM1Period(1-8)
        for index2 in periodDict[someNumber]: #Looks through the first through eight periods to append to.
            if len(index) < 1:
                index2.append("Free Period")
                break
            elif period in index2:
                break
            elif period in prereq:
                elecStorage.append(index)
            else:
                print "Lololol"
        break           
    someNumber = someNumber + 1

代码应该为dict1(someNumber)中的每个列表检查periodict(someNumber)r中的每个列表(因此dict1中的第一个列表与periodict中的第一个列表相对应,一直到所有8个列表),直到满足if/then语句为止。在

我可能把这一切都搞错了,因为我的编程生涯不是很广泛,我还不是很好,所以请你对我放轻松点。在

如果你需要进一步澄清,请发表评论。在

提前谢谢,朋友们。在


Tags: in列表index语句breakappendwhilethrough