파이썬에서 배열은 리스트를 사용해서 생성할 수 있습니다. 1차원 배열 생성은 아래 포스팅을 참고하세요.
2차원 배열은 리스트를 중첩해서 만들 수 있습니다. 예를 들어서, 2행 3열의 2차월 배열을 만들기 위해선 아래와 같이 할 수 있죠.
row, column = 2, 3
arr_2d = [[None] * column for i in range(row)]
print(arr_2d)
# [[None, None, None], [None, None, None]]
좀 더 효율적으로 다차원 배열을 다뤄야 한다면 Numpy 패키지를 사용할 수 있습니다. Numpy는 적은메모리를 사용하며 더 빠르게 다차원 배열을 만들 수 있고 효율적인 연산을 제공합니다.
# Numpy 사용을 위해서는 numpy 라이브러리를 먼저 설치해야 합니다.
pip install numpy
import numpy as np
# 0으로 초기화된 2차원 배열 생성
arr_2d = np.zeros((2, 3))
print(arr_2d)
# [[0. 0. 0.]
# [0. 0. 0.]]
# 1로 초기화된 2차원 배열 생성
arr = np.ones((3, 3))
print(arr)
# [[1. 1. 1.]
# [1. 1. 1.]
# [1. 1. 1.]]
# 초기화 되지 않은 3차원 배열 생성
arr = np.empty((2, 2, 2))
print(arr)
# [[[ 1.72723371e-077 1.72723371e-077]
# [ 6.93932660e-310 6.93932660e-310]]
#
# [[ 2.24341494e-286 6.93932660e-310]
# [ 6.93932660e-310 -3.39801661e+065]]]
# 1차원 리스트를 reshape해서 2차원 배열을 생성
arr = np.array([5] * 15).reshape((3, 5))
print(arr)
# [[5 5 5 5 5]
# [5 5 5 5 5]
# [5 5 5 5 5]]
# 1차원 range를 reshape해서 2차원 배열 생성
arr = np.arange(25).reshape((5, 5))
print(arr)
# [[ 0 1 2 3 4]
# [ 5 6 7 8 9]
# [10 11 12 13 14]
# [15 16 17 18 19]
# [20 21 22 23 24]]
'파이썬 > 자주하는 질문' 카테고리의 다른 글
파이썬(Python) 배열(Array) 생성하기 (0) | 2020.09.18 |
---|---|
파이썬(Python) if else 구문을 한 줄로 표현하기 (0) | 2020.09.15 |
파이썬(Python) 두 개의 리스트를 동시에 순회하기 (0) | 2020.09.13 |
파이썬(Python) 딕셔너리 값(value)로 정렬하기 (0) | 2020.09.13 |
파이썬(Python) *args **kwargs 는 무엇일까? (0) | 2020.09.12 |
댓글