만족은 하되 안주하지는 말자

기록해야 기억한다

프로그래밍/기억노트

[python] 파이썬 list 2차원 초기화

D36choi 2020. 8. 7. 14:34
728x90

1차원 리스트 초기화

arr = []

for i in range(10):
    if i % 2 == 0:
        arr.append(i)
print(arr)

 이 방법은 구리다. 너무 길다.

그러니까 list comprehension 을 이용한다.

List comprehension

arr1 = [ i for i in range(10) if i % 2 == 0]
print(arr1)

그렇다면 2차원 초기화는?

위의 리스트 comprehension 이용 시 매우 효과적이다.

N * M 크기 2차원 행렬을 초기화하려면

m = 3
n = 3

arr2 = [ [0] * m for _ in range(n) ]
print(arr2)

결과 -> [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

 

** 특정 크기의 2차원 리스트를 만들고자 할 때는 반드시 위 방법을 따라야 한다. **