Python에서 행렬 인쇄

Manav Narula 2023년1월30일
  1. for루프를 사용하여 Python에서 행렬 인쇄
  2. 리스트 내포 메서드를 사용하여 Python에서 행렬 인쇄
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 Narula
Manav Narula avatar Manav Narula avatar

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

관련 문장 - Python Matrix