Как преобразовать list comprehension на развернутую запись цикла for в Python?

Нужно транспонировать матрицу 2х3 только через цикл for (не используя готовые библиотеки). Имеется такая короткая запись:

print([[arr4[j][i] for j in range(len(arr4))] for i in range(len(arr4[0]))])

Как можно это правильно развернуть?


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

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

Нужно только записать циклы из генератора списков, начиная с конца, и добавить явный объект списка:

arr4 = [[0,1],[2,3],[4,5]]
arrt = []
for i in range(len(arr4[0])):
    arrt.append([])
    for j in range(len(arr4)):
        arrt[-1].append(arr4[j][i])
print(arrt)
→ Ссылка