행렬에 사용자 정의 테두리를 추가해야 하는 경우, 간단한 리스트 반복(iteration)을 활용하여 원하는 테두리를 손쉽게 적용할 수 있습니다. 별도의 외부 라이브러리 없이 기본적인 반복문과 문자열 연결만으로 구현할 수 있다는 점이 이 방법의 장점입니다.
예제 코드
아래는 행렬에 테두리를 추가하는 과정을 보여주는 예제입니다.
my_list = [[2, 5, 5], [2, 7, 5], [4, 5, 1], [1, 6, 6]]
print("The list is :")
print(my_list)
print("The resultant matrix is :")
border = "|"
for sub in my_list:
my_temp = border + " "
for ele in sub:
my_temp = my_temp + str(ele) + " "
my_temp = my_temp + border
print(my_temp)실행 결과
The list is : [[2, 5, 5], [2, 7, 5], [4, 5, 1], [1, 6, 6]] The resultant matrix is : | 2 5 5 | | 2 7 5 | | 4 5 1 | | 1 6 6 |
코드 설명
리스트 안에 리스트가 포함된 중첩 리스트(행렬)를 정의하고, 콘솔에 출력하여 확인합니다.
테두리로 사용할 문자 값(여기서는 '|')을 변수에 정의합니다.
바깥 반복문으로 각 행(하위 리스트)을 순회하면서, 테두리 문자와 공백을 먼저 연결합니다.
안쪽 반복문으로 각 행의 요소들을 하나씩 순회하며, 요소를 문자열로 변환한 뒤 공백과 함께 연결합니다.
각 행이 완성되면 마지막에 다시 테두리 문자를 붙여 좌우가 대칭인 형태를 만들고, 결과를 콘솔에 출력합니다.
활용 팁
테두리 문자는 '|'뿐만 아니라 '*', '#', '+' 등 원하는 어떤 문자로도 변경할 수 있습니다. 또한 f-string을 사용하면 f"{border} {' '.join(map(str, sub))} {border}"처럼 더 간결하게 작성할 수도 있습니다.