首页 > 解决方案 > 使用for循环从2个列表python中查找名称

问题描述

你好

我想创建一个for 循环,当满足类要求直到达到 max_credit 时,将类添加到列表中。class_list列出所有课程及其学分、共同必修课程、必修课程,最后一个单元格是打开的,因为我想稍后使用它。

class_list = [['MA 241 ', '4', '', '', ''], ['PS 150 ', '3', 'MA 241 ', '', ''], ['UNIV 101', '1', '', '', ''], ['COM 122', '3', '', '', ''], ['MA 242', '4', '', 'MA 241 ', ''],  ['PS 160', '3', 'MA 242', 'PS 150 ', '']]
class_done = ['UNIV 101', 'MA 241', [], [], [], [], [], []]
classes_for_semester=[]
credits_for_semester=0
max_credit_allowed=16

现在我想将该类添加到classes_for_semester如果共同必备类在 中classes_for_semester或所需类在class_done.

我在想这会起作用,但它似乎没有进入第二个 If 语句:

for i in range(len(class_list)):
    if int(class_list[i][1])+credits_for_semester < max_credit_allowed:
        if class_list[i][3] == '' or class_list[i][3] in class_done or class_list[i][2] in classes_for_semester:
            print(class_list[i][0])
            classes_for_semester.append(class_list[i][0])
            credits_for_semester += int(class_list[i][1])
            print(True)

也许你可以帮我弄清楚我做错了什么。如果您要发布一个很棒的解决方案,但请给出解释:),因为您可能会说我对此很陌生,我想理解它。

非常感激

标签: pythonarrayslistfor-loopif-statement

解决方案


推荐阅读