<p>我有一个主题数组,每个主题都连接时间。我想比较清单上的每一个科目。如果有两个相同的主题,我想添加两个主题的时间,还想删除第二个主题信息(主题名称和时间)。</p>
<p>但如果我删除了该项,则列表会变短,并且会出现超出范围的错误。我试图使用subjectlegth-1使列表更短,但这也不起作用。</p>
<pre><code> ...
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
</code></pre>
<p>如果<code>subject</code>的元素是散列的:</p>
<pre><code>finalinfo = {}
for s, t in zip(subject, time):
finalinfo[s] = finalinfo.get(s, 0) + t
</code></pre>
<p>这将产生一个带<code>subject: time</code>键值对的dict。</p>