Недавно меня попросили написать код, чтобы найти наивысшие n элементов в списке и вернуть как значения, так и местоположения.Найдите наивысшие n элементов в списке и их местоположениях. Python
Вы можете получить более быстрый (с точки зрения времени выполнения), чем этот?
def highest(L, n):
return sorted(enumerate(L), reverse=True, key=lambda x: x[1])[:n]
if __name__ == '__main__':
M = [102, 56, 2355, 3, 25, 78, 19, 25, 1002, -54, 0, 23, -1]
r = highest(M,5)
print r #[(2, 2355), (8, 1002), (0, 102), (5, 78), (1, 56)]
Quicker? Или короче? В любом случае, похоже, у вас нет реального вопроса. –
Быстрее с точки зрения времени выполнения, длина кода не важна, если только она не влияет на скорость. –