У меня есть следующий код для получения списка списков с целью создания матрицы чисел:Reverse некоторых элементов в 2d массива для получения матрицы в заданном формате, Python 3
grid=[[1,2,3,4,5,6,7],[8,9,10,11,12],[13,14,15,16,17],[18,19,20,21,22]]
Об использования следующий код, который я выяснил, что обратный список, он создает матрицу ...
for i in reversed(grid):
print(i)
выход:
[18, 19, 20, 21, 22]
[13, 14, 15, 16, 17]
[8, 9, 10, 11, 12]
[1, 2, 3, 4, 5, 6, 7]
Я хочу, однако, выход будет ниже, так что числа «подключить», как они идут вверх:
[22,21,20,19,18]
[13,14,15,16,17]
[12,11,10,9,8]
[1,2,3,4,5,6,7]
Кроме того, для upvote, я был бы заинтересован в более эффективных способах порождающего матрицы в первую очередь. Например, для генерации массива 7x7 - может ли это быть сделано с использованием переменной, например 7 или 49. Или для матрицы 10x10, 10 или 100?
ОБНОВЛЕНИЕ: Да, извините - подписи должны быть одного размера. Опечатка выше
UPDATE НА ОСНОВЕ ОТВЕТА НИЖЕ
Эти две строки:
>>> grid=[[1,2,3,4,5,6,7],[8,9,10,11,12],[13,14,15,16,17],[18,18,20,21,22]]
>>> [lst[::-1] for lst in grid[::-1]]
следующий результат:
[[22, 21, 20, 18, 18], [17, 16, 15, 14, 13], [12, 11, 10, 9, 8], [7, 6, 5, 4, 3, 2, 1]]
, но я хочу, чтобы напечатать одну линию за другой, как матрица .... также, поэтому я могу проверить вывод как указано. Это все, что мне нужно по существу, потому что ответ будет ответом!
подсписков не имеют такую же длину. Можно ли это назвать матрицей? Или это опечатка? – Psidom
«за верх»?но вы не можете взломать :) –
Ой, извините - подсписки должны быть одного размера, 1-7 ..и далее в группах по 7 –