Вывести полученные списки в порядке возрастания по сумме абсолютных значений отдельных элементов

Дан список из 30 случайных целых и дробных чисел от -100 до +100. Сформировать из списка 10 списков по 3 элемента.

N = [random.randint(-100, 100) for i in range(30)]
print(N)
nls=[]
for i in range(0,10):nls.append(N[3*i:3*i+3])
print(nls)

Как Вывести полученные списки в порядке возрастания по сумме абсолютных значений отдельных элементов.


Ответы (1 шт):

Автор решения: Zhihar

если я правильно понял задание - сделайте так:

nls.sort(key = lambda obj: sum(map(abs, obj)))

т.е. сортировка по сумме абсолютных значений списка

map(abs, obj)

получает список абсолютных значений

sum(map(abs, obj))

вычисляет сумму значений списка

→ Ссылка