스택큐힙리스트

파이썬에서 2차원 배열을 초기화하는 방법은 무엇인가요? 본문

카테고리 없음

파이썬에서 2차원 배열을 초기화하는 방법은 무엇인가요?

스택큐힙리스트 2023. 4. 19. 16:02
반응형

나는 Python을 시작하고 이차원 리스트를 사용해보려고 합니다. 먼저 모든 공간에 동일한 변수를 채우는 방법을 생각해 보았습니다. 이것이 내가 만든 코드입니다.

def initialize_twodlist(foo):

twod_list = []

new = []

for i in range (0, 10):

for j in range (0, 10):

new.append(foo)

twod_list.append(new)

new = []

원하는 결과를 제공하지만, 우회적인 느낌이 들어요. 이를 더 쉽거나 짧게, 더 미려하게하는 방법은 없을까요?

답변 1

파이썬에서 이차원 리스트를 초기화하려면 다음과 같이 사용합니다.

t = [ [0]*3 for i in range(3)]

하지만 [[v]*n]*n는 사용하지 마세요, 그것은 함정입니다!

>>> a = [[0]*3]*3

>>> a

[[0, 0, 0], [0, 0, 0], [0, 0, 0]]

>>> a[0][0]=1

>>> a

[[1, 0, 0], [1, 0, 0], [1, 0, 0]]

답변 2

Python에서 2차원 배열을 초기화하는 방법은 매우 간단합니다. 2차원 배열을 생성하고 초기화하는 방법에 대해 설명하겠습니다.

우선, 2차원 배열을 생성하려면 다음과 같이 코드를 작성합니다.

```python

array = [[0 for x in range(n)] for y in range(m)]

```

위 코드에서, `array`는 초기화될 2차원 배열의 이름입니다. `n`과 `m`은 각각 배열의 행과 열의 크기입니다. 위 코드는 `m`개의 길이가 `n`인 리스트를 생성하고 각 요소를 0으로 초기화합니다.

예를 들어, 3x4 크기의 배열을 초기화하려면 다음과 같이 코드를 작성합니다.

```python

array = [[0 for x in range(4)] for y in range(3)]

```

위 코드에서 `array`는 3x4 크기의 2차원 배열입니다.

또한, 배열의 각 요소를 원하는 값으로 초기화할 수도 있습니다. 예를 들어, 다음과 같이 모든 요소를 1로 초기화할 수 있습니다.

```python

array = [[1 for x in range(4)] for y in range(3)]

```

또는 특정한 값을 갖는 요소를 초기화할 수도 있습니다. 예를 들어, 다음 코드는 첫 번째 요소를 10으로, 두 번째 요소를 20으로 초기화합니다.

```python

array = [[10, 20, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]

```

이렇게 2차원 배열을 초기화할 때, 반복문을 사용할 필요 없으므로 초기화 속도가 매우 빠릅니다. 이 방법을 사용하여 2차원 배열을 초기화하면 간단하게 코드를 작성할 수 있으므로, Python에서 데이터 처리에 이 방법을 많이 사용합니다.

반응형
Comments