Сортировка списка списков по абсолютным значениям чисел - PullRequest
0 голосов
/ 08 сентября 2018

В Python, если у меня есть вход в следующем формате:

отл.)

[[1, 2, -3], [2, -64, 41], [-32, 5, 4]]

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

в этом случае я бы хотел вывод

[[1,2,-3],[2,41,-64], [4,5,-32]]

Ответы [ 2 ]

0 голосов
/ 08 сентября 2018

Используйте abs в качестве ключевой функции для каждого подсписка.

>>> li=[[1, 2, -3], [2, -64, 41], [-32, 5, 4]]
>>> [sorted(sl, key=abs) for sl in li]
[[1, 2, -3], [2, 41, -64], [4, 5, -32]]
0 голосов
/ 08 сентября 2018

sorted принимает параметр key аргумент, который является функцией, которая сообщает Python, какие значения использовать для сортировки элементов. В вашем случае вы хотели бы использовать функцию abs.

 [sorted(item, key=abs) for item in foo]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...