Как в массиве сделать перенос строки?
Вот как выводит [[-1, 0, 1, 5], [2, 5, 22, 5], [-6, 2, 5, 3], [7, 2, 3, -5]]
А мне нужно прийти к виду
[[-1, 0, 1, 5],
[2, 5, 22, 5],
[-6, 2, 5, 3],
[7, 2, 3, -5]]
Вот сам код:
matrix = [[-1,0,1,5],
[2,5,22,5],
[-6,2,5,3],
[7,2,3,-5]]
print(matrix)
Ответы (4 шт):
for row in matrix:
print(row)
Вот таким способом можно выводить матрицу в её нормальном виде!
Numpy умеет красиво печатать двумерные массивы:
import numpy as np
matrix = [[-1, 0, 1, 5], [2, 5, 22, 5], [-6, 2, 5, 3], [7, 2, 3, -5]]
print(np.array(matrix))
Напечатается:
[[-1 0 1 5]
[ 2 5 22 5]
[-6 2 5 3]
[ 7 2 3 -5]]
Или вот так, если хотите с запятыми:
print(np.array2string(np.array(matrix), separator=', '))
[[-1, 0, 1, 5],
[ 2, 5, 22, 5],
[-6, 2, 5, 3],
[ 7, 2, 3, -5]]
Можно так:
print("[" + ",\n".join("[" + ", ".join(map(str,i)) + "]" for i in matrix) + "]")
или просто
print("[", end="")
print(*matrix, sep=",\n", end="]\n")
Вариант через pprint:
from pprint import pprint
matrix = [[-1, 0, 1, 5], [2, 5, 22, 5], [-6, 2, 5, 3], [7, 2, 3, -5]]
pprint(matrix, width=20)
Результат:
[[-1, 0, 1, 5],
[2, 5, 22, 5],
[-6, 2, 5, 3],
[7, 2, 3, -5]]
Параметр width отвечает за максимальную длину выводимой на экран строки. По умолчанию он равен 80, и исходный вид списка (в одну строку) в эту длину укладывается (в нем 60 символов), и чтобы pprint выводил каждую строку матрицы на отдельной строке, нужно эту длину уменьшить.
Подойдет любое значение меньше длины списка в строковом виде, можно прямо так и вычислять:
pprint(matrix, width=len(str(matrix))-1)