我有一个包含主题的数组,每个主题都有相关的时间。我想比较列表中的每个主题。如果有两个相同的科目,我想添加两个科目的时间,还想删除第二个科目信息(科目名称和时间)。

但是如果我删除该项目,列表会变短,并且会出现超出范围的错误。我试图通过使用 subjectlegth-1 来缩短列表,但这也不起作用。

   ...
   subjectlegth = 8
   for x in range(subjectlength):
        for y in range(subjectlength):
            if subject[x] == subject[y]:
                if x != y:
                    #add
                    time[x] = time[x] + time[y]
                    #delete
                    del time[y]
                    del subject[y]
                    subjectlength = subjectlength - 1

最佳答案

如果可以,向后迭代:

for x in range(subjectlength - 1, -1, -1):

和类似y

10-08 20:20