Как создать список пар, соответственных элементов двух двумерных списков? Python

У меня два двумерных списка

a = [[1, -1],
     [-2, 4]]

b = [['!', '+'],
     ['&', 'x']]

Я хочу получить список пар соответственных значений, т.е.

result = [(1, '!'), (-1, '+'), (-2, '&'), (4, 'x')]

Знаю как сделать через вложенные списки или через zip, а затем перебор. Есть ли более релевантный способ?


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

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

Если вам нужна короткая запись, то

result = list(zip(sum(a, []), sum(b, [])))

даст вам требуемый список кортежей.

→ Ссылка
Автор решения: extrn
result = [x for xs in map(zip, a, b) for x in xs]
→ Ссылка