Python에서 행렬 인쇄
행렬은 데이터 표현과 다중 선형 방정식 풀이를위한 수학 및 통계에서 많이 사용됩니다. 프로그래밍에서 2D 배열은 행렬로 처리됩니다.
Python에는 행렬에 대해 다른 작업을 수행하는 데 사용할 수있는 많은 함수와 클래스가 있습니다. 이 튜토리얼에서는 Python에서 행렬을 인쇄하는 방법을 배웁니다.
다음 코드에서 모든 대괄호와 적절한 간격없이 Python에서 2D 배열이 일반적으로 인쇄되는 방법을 보여줍니다.
import numpy as np
a = np.array([[1, 2, 3], [3, 4, 5], [7, 8, 9]])
print(a)
출력:
[[1 2 3]
[3 4 5]
[7 8 9]]
아래에서 설명하는 방법에서는 깨끗한 행렬 유형 형식으로 배열을 인쇄합니다.
for
루프를 사용하여 Python에서 행렬 인쇄
이 메서드는for
루프를 사용하여 행렬을 반복하고 적절히 포맷 한 후 각 행을 개별적으로 인쇄합니다. 다음 코드는 방법을 보여줍니다.
import numpy as np
a = np.array([[1, 2, 3], [3, 4, 5], [7, 8, 9]])
for line in a:
print(" ".join(map(str, line)))
출력:
1 2 3
3 4 5
7 8 9
전체 행을 문자열로 변환하는map
함수를 사용하고,이 전체 행에join
함수를 적용하여 모든 행을 단일 문자열로 변환하고 지정된 구분 기호로 요소를 분리합니다.
리스트 내포 메서드를 사용하여 Python에서 행렬 인쇄
목록 이해는 한 줄의 코드로 목록을 작업 할 수있는 간결하고 우아한 방법을 제공합니다.
이 방법은for
루프도 사용하지만 이전 방법에서와 같이 전통적으로 사용하는 것보다 조금 더 빠른 것으로 간주됩니다.
다음 코드를 예로 들어 보겠습니다.
import numpy as np
a = np.array([[1, 2, 3], [3, 4, 5], [7, 8, 9]])
print("\n".join(["".join(["{:4}".format(item) for item in row]) for row in a]))
출력:
1 2 3
3 4 5
7 8 9
위의 코드는 이전 방법과 거의 동일한 기능을 사용하지만 훨씬 효율적이고 한 줄로 수행됩니다. 다른 주요 차이점은 여기에서 문자열 요소 사이에 필요한 간격을 제공하는 데 사용되는format()
함수입니다.
이 방법을 사용하는 또 다른 방법은 다음과 같습니다. 여기서 우리는 코드를 개별 줄로 나누고 행렬을 테이블과 같은 구조와 비슷하게 만들려고합니다.
import numpy as np
a = np.array([[1, 2, 3], [3, 4, 5], [7, 8, 9]])
s = [[str(e) for e in row] for row in a]
lens = [max(map(len, col)) for col in zip(*s)]
fmt = "\t".join("{{:{}}}".format(x) for x in lens)
table = [fmt.format(*row) for row in s]
print("\n".join(table))
출력:
1 2 3
3 4 5
7 8 9
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn