[Python] 2차원 배열 초기화, 조작, 변환하는 방법

Python에서의 2차원 배열 초기화

중첩 리스트

중첩 리스트를 사용하여 2차원 배열을 초기화할 수 있다.

python
two_d_array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(two_d_array)
# 출력: [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

이 코드는 중첩 리스트를 사용하여 3x3 배열을 생성한다.

List Comprehensions

List Comprehensions를 사용하면 더 간결하게 초기화할 수 있다:

python
rows, cols = 3, 3
two_d_array = [[0 for j in range(cols)] for i in range(rows)]
print(two_d_array)
# 출력: [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

이 코드는 모든 원소를 0으로 초기화한 3x3 2차원 배열을 생성한다.

2차원 배열의 원소 접근

행과 열 인덱스를 지정하여 원소에 접근할 수 있다.

python
two_d_array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
element = two_d_array[1][2]
print(element)
# 출력: 6

이 코드는 두 번째 행, 세 번째 열의 원소에 접근한다.

2차원 배열 수정 및 조작

2차원 배열 수정은 접근과 유사한다.

python
two_d_array[1][2] = 10
print(two_d_array)
# 출력: [[1, 2, 3], [4, 5, 10], [7, 8, 9]]

이 코드는 두 번째 행, 세 번째 열의 값을 10으로 수정한다.

2차원 배열을 효율적으로 순회하기

중첩 루프를 사용하여 2차원 배열을 효율적으로 순회할 수 있다.

python
for row in two_d_array:
    for element in row:
        print(element, end=" ")
    print()

# 출력:
1 2 3 
4 5 10 
7 8 9 

이 코드는 모든 원소를 행마다 출력한다.

2차원 배열을 1차원 배열로 변환하기

List Comprehension을 사용하여 2차원 배열을 1차원 배열로 변환할 수 있다.

python
flat_array = [element for row in two_d_array for element in row]
print(flat_array)

# 출력: [1, 2, 3, 4, 5, 10, 7, 8, 9]

1차원 배열을 지정한 수의 열을 가진 2차원 배열로 변환하기

열의 수를 지정하여 1차원 배열을 2차원 배열로 변환할 수 있다.

python
cols = 3
two_d_array = [flat_array[i:i+cols] for i in range(0, len(flat_array), cols)]
print(two_d_array)

# 출력: [[1, 2, 3], [4, 5, 10], [7, 8, 9]]

자주 묻는 질문

  1. Python에서 2차원 배열이란 무엇인가? 2차원 배열은 배열의 배열로, 원소를 격자 형태로 저장할 수 있다.
  2. Python에서 2차원 배열을 어떻게 초기화할 수 있나요? 중첩 리스트나 List Comprehension을 사용하여 2차원 배열을 초기화할 수 있다.
  3. Python에서 2차원 배열을 어떻게 수정할 수 있나요? 행과 열 인덱스를 지정하여 원소를 수정할 수 있다.
  4. Python에서 2차원 배열을 효율적으로순회하는 방법이 있나요? 중첩 루프를 사용하여 효율적으로 순회할 수 있다.
  5. Python에서 1차원 배열과 2차원 배열 간의 변환은 어떻게 할 수 있나요? 위 예제와 같이 List Comprehension을 사용하여 1차원 배열과 2차원 배열을 변환할 수 있다.
© Copyright 2023 CLONE CODING