История изменений
Исправление
Novator,
(текущая версия)
:
Вижу, что быстро, но на втором месте - значит, время тратится на суммирование массивов.
Если так, то самым быстрым будет такой вариант:
def three(a, b):
c = {}
for i,v in a:
c[i] = c.get(i, 0) + v
for i,v in b:
c[i] = c.get(i, 0) + v
return sorted(c.items(), key=lambda x: x[1], reverse=True)
Без суммирования. Без подпрограмм. И поиск по словарю.
Исходная версия
Novator,
:
Вижу, что быстро, но на втором месте - значит, время тратится на суммирование массивов.
Если так, то самым быстрым будет такой вариант:
def three(a, b):
c = {}
for i,v in a:
c[i] = c.get(i, 0) + v
for i,v in b:
c[i] = c.get(i, 0) + v
return sorted(c.items(), key=lambda x: x[1], reverse=True)
Без суммирования. Без подпрограмм. И поиск по словарю.