Слить два списка

Как слить два списка a b чтобы получить c?

a = [1,2,6] b = [3,4,5,7,9]

с = [1,2,-3,-4,-5,6,-7,-9]


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

Автор решения: Стас

Предлагаю просто инвертировать все значения списка b, объединить списки и отсортировать результат по модулю.

a = [1,2,6]
b = [3,4,5,7,9]
c = []

b = list(map(lambda n: -n, b)) # инвертировать
c = sorted(a + b, key=lambda n: abs(n)) # сортировка по модулю

print(c) # [1, 2, -3, -4, -5, 6, -7, -9]
→ Ссылка
Автор решения: CrazyElf

В одну строчку:

print(sorted(a + [-x for x in b], key=abs))
→ Ссылка