Numpy уроки. Работа с матрицами
🔡 Транспонирование матриц Python.
Допустим есть матрица (двумерный список) размера 2x3: >>> matrix = [[1, 2, 3], [4, 5, 6]] Как в одну строку кода можно поменять местами строки и столбцы (научно: транспонировать матрицу)? >>> list(zip(*matrix)) [(1, 4), (2, 5), (3, 6)] Объяснение. Звездочка перед значением аргумента функции разворачивает список в список аргументов. Пример: >>> print(*matrix, sep=', ') [1, 2, 3], [4, 5, 6] В списке matrix было 2 элемента, и вызов print стал аналогичен: >>> print(matrix[0], matrix[1], sep=', ') [1, 2, 3], [4, 5, 6] Теперь zip...
Задача спирального заполнения матрицы на Python #3: Вторая и моя реализации
Предыдущие части: Подготовка, Первая реализация Второй метод почти не отличается от первого, но на мой взгляд более изящен. Если ранее мы использовали 4 отдельных цикла для обхода периметра матрицы, а затем еще 4 цикла для внутренней части матрицы и т.д., то здесь у нас будет непрерывное движение по спирали в одном-единственном цикле от начала до конца. Начнётся этот цикл точно так же: от первой клетки мы заполним строку числами по горизонтали, а дальше? А дальше мы продолжим этот же самый цикл, но поменяем направление движения...