Сбалансированный список

Дан список чисел. Все числа целые, не отрицательные. Количество чисел четное.

Напишите функцию, которая будет делить этот список пополам, определять суммы чисел в половинах списка и сравнивать их.

Функция должна возвращать новый список, в котором половина чисел, сумма которых оказалась меньше, заменяется числами из другой половины.

Если сумма чисел в обеих половинах одинакова, функция должна вернуть исходный список.



def balanced(lst):
    h1, h2 = sorted((lst[:len(lst)//2], lst[len(lst)//2:]), key=sum)
    return lst if sum(h1) == sum(h2) else h2*2


Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: