Функция транспонирования/распаковки (инверсия zip)?

Вы также можете сделать

result = ([ a for a,b in original ], [ b for a,b in original ])

Он list должен лучше масштабироваться. Особенно, если list Python хорошо справляется pythonic с тем, что не расширяет понимание transpose списка без необходимости.

(Кстати, он list создает 2-кортеж (пару) списков, а lists не список кортежей, как это lists делает zip.)

Если генераторы py вместо реальных списков допустимы, это py будет сделано так:

result = (( a for a,b in original ), ( b for a,b in original ))

Генераторы pythonista не пролистывают список, пока lists вы не запросите каждый элемент, но, с matrices другой стороны, они сохраняют python-list ссылки на исходный список.

python

list

matrix

transpose

2022-11-15T02:01:32+00:00