擅长:python、mysql、java
<p>使用<code>defaultdict</code>会更容易,如果您坚持让输出作为一个列表,请稍后转换:</p>
<pre><code>from collections import defaultdict
l = ['AI077:077', 'AI077:077', 'AI077:077', 'AI077:077', 'AI567:567', 'AI567:567', 'BA896:896', 'SI267:267', 'SI267:267', 'SI267:267']
d = defaultdict(int)
for e in l:
name, number = e.split(':')
number = int(number)
d[name] += number
print(d)
# defaultdict(<class 'int'>, {'AI077': 308, 'AI567': 1134, 'BA896': 896, 'SI267': 801})
print(['{}:{}'.format(k, v) for k, v in d.items()])
# ['AI077:308', 'AI567:1134', 'BA896:896', 'SI267:801']
</code></pre>
<p>如果您使用的是Python<;=3.6,则不能保证输出的顺序总是相同的,我认为这无关紧要。你知道吗</p>