使用for循环删除列表中的项目
问题内容:
我有一个包含主题的数组,每个主题都有关联的时间。我想比较列表中的每个主题。如果有两个相同的主题,我想添加两个主题的时间,也想删除第二个主题信息(主题名称和时间)。
但是,如果我删除该项目,则列表会变短,并且会出现超出范围的错误。我试图通过使用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
。