배열은 요소를 저장하는 데 사용되는 자료 구조입니다. 배열은 유사한 유형의 요소만 저장할 수 있습니다. 2차원 배열은 배열 내부에 있는 배열로 정의됩니다. 배열의 인덱스는 0부터 시작하여 배열 크기에서 1을 뺀 값으로 끝납니다. 배열 안에 n개의 배열을 만들 수 있습니다.

위 이미지에서 우리는 인덱스가 각 배열 요소를 고유하게 식별한다는 것을 볼 수 있습니다.
파이썬에서 2차원 배열을 만드는 방법
행과 열로 구성된 2차원 배열(리스트)을 만들 수 있습니다.
[[r1,r2,r3,..,rn],[c1,c2,c3,.......,cn]]
r은 행을 의미하고 c는 열을 의미합니다.
다음은 생성을 위한 예입니다.
4행 5열의 2차원 배열
array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]]
#display
print(array)
## 결 과 :
[[23, 45, 43, 23, 45], [45, 67, 54, 32, 45], [89, 90, 87, 65, 44], [23, 45, 67, 32, 10]]
값에 접근하기
인덱스 위치를 사용하여 값에 액세스할 수 있습니다.
[]
연산자를 사용하여 행 값을 얻을 수 있습니다.
array[row index]
[][]를 사용하여 열 값을 가져올 수 있습니다.
Array[row index][column index]
- 배열은 입력 배열입니다
- 행 인덱스는 행 인덱스 위치가 0부터 시작하는 것입니다.
- 열 인덱스는 행의 열 인덱스 위치가 0부터 시작한다는 의미입니다.
이 예제에서는 인덱스 위치를 사용하여 값에 액세스하려고 합니다.
#creare 2D array with 4 rows and 5 columns
array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]]
#display
print(array)
#get the first row
print(array[0])
#get the third row
print(array[2])
#get the first row third element
print(array[0][2])
#get the third row forth element
print(array[2][3])
## 결 과 :
[[23, 45, 43, 23, 45], [45, 67, 54, 32, 45], [89, 90, 87, 65, 44], [23, 45, 67, 32, 10]]
[23, 45, 43, 23, 45]
[89, 90, 87, 65, 44]
43
65
for loop를 이용해서 요소에 억세스 할 수 있습니다.
## 구 문
for rows in the array:
for columns in rows:
print(columns)
- 행은 행별로 반복하는 데 사용됩니다.
- 열은 각 행에 있는 값을 반복하는 데 사용됩니다.
Creare 2D array with 4 rows and 5 columns
array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]]
#use for loop to iterate the array
for rows in array:
for columns in rows:
print(columns,end=" ")
print()
## 결 과 :
23 45 43 23 45
45 67 54 32 45
89 90 87 65 44
23 45 67 32 10
2차원 배열에 값 삽입
여기서는 insert() 함수를 사용하여 2차원 배열에 값을 삽입합니다.
array.insert(index,[values])
- 배열은 입력 배열입니다
- 인덱스는 특정 행을 삽입할 행 위치입니다.
- value는 배열에 삽입될 값입니다.
#4행 5열의 2차원 배열을 생성 합니다.
array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]]
#5번째 위치에 행을 삽입 합니다.
array.insert(2, [1,2,3,4,5])
#6번째 위치에 행을 삽입 합니다.
array.insert(2, [1,2,3,4,5])
#7번째 위치에 행을 삽입 합니다.
array.insert(2, [1,2,3,4,5])
#출력합니다.
print(array)
## 결 과 :
[[23, 45, 43, 23, 45], [45, 67, 54, 32, 45], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [1, 2, 3, 4, 5], [89, 90, 87, 65, 44], [23, 45, 67, 32, 10]]
2차원 배열에 값 업데이트
다음은 2차원 배열(리스트)에서 값을 업데이트하는 두 가지 방법입니다.
다음 구문을 사용하여 행을 업데이트할 수 있습니다.
array[row_index]= [values]
다음 구문을 사용하여 행 내부의 열 값을 업데이트할 수 있습니다.
array[row_index][column_index]= [values]
## 예 제
#4개의 행, 5개의 열의 2차원 배열을 생성합니다.
array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]]
#3번째 행의 값을 업데이트 합니다.
array[2]=[0,3,5,6,7]
#5번째 행의 값을 업데이트 합니다.
array[2]=[0,3,5,6,7]
#철번재 행과, 세번째 행을 업데이트 합니다.
array[0][2]=100
#두번째 행과 세번째 행을 업데이트 합니다.
array[1][2]=400
#출력
print(array)
## 결 과 :
[[23, 45, 100, 23, 45], [45, 67, 400, 32, 45], [0, 3, 5, 6, 7], [23, 45, 67, 32, 10]]
2차월 배열에서 값 삭제
del
함수를 사용하여 행을 삭제할 수 있습니다.
del array[index]
- 배열은 입력 배열입니다
- index는 행 인덱스를 의미합니다.
## 예 제 :
#4행 5열의 2차원 배열을 만듭니다.
array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]]
#세번재 행을 삭제 합니다.
del array[2]
#두번째 행을 삭제 합니다.
del array[1]
# 출력
print(array)
## 결 과 :
[[23, 45, 43, 23, 45], [23, 45, 67, 32, 10]]
2차원 배열의 크기
line() 함수를 사용하여 2차원 배열의 크기를 구할 수 있습니다. 이 함수는 배열의 행 개수를 반환합니다.
len(array)
## 예 제
#4행 5열의 2차원 배열을 생성 합니다.
array=[[23,45,43,23,45],[45,67,54,32,45],[89,90,87,65,44],[23,45,67,32,10]]
#출력
print(len(array))
## 결 과 :
4
요약
다음은 몇 가지 중요한 Array(list) 메서드입니다.
Append():
Method | Description | Syntax |
---|---|---|
Append(): | 기존 배열의 끝에 요소를 추가 | array.append(value) |
## 예제
# 배열의 끝에 append 메서드를 사용하여 요소 추가
array=[1,2,3]
array.append(4)
print(array)
## 결 과 :
[1,2,3,4]
Clear():
Method | Description | Syntax |
---|---|---|
Clear(): | 배열에 존재하는 모든 요소를 제거 | array.clear() |
# 배열에서 모든 요소 제거
array=[1,2,3]
array.clear()
print(array)
## 결 과 :
[]
Copy():
Method | Description | Syntax |
---|---|---|
Copy(): | 배열의 내용을 새 배열로 복사 | array1=array.copy() |
# 배열의 요소를 새 배열로 복사
array=[1,2,3]
array1=[]
array1=array.copy()
print(array1)
## 결 과 :
[1,2,3]
Count():
Method | Description | Syntax |
---|---|---|
Count(): | 배열에서 지정된 요소의 발생 횟수를 셈 | array.count(element) |
# 배열에 요소가 존재하는 횟수 세기
array=[1,2,3]
print(array.count(8))
## 결 과 :
0
Extend():
Method | Description | Syntax |
---|---|---|
Extend(): | 배열을 구성 요소 너머로 확장 | array.extend(array1) |
# 기존 배열을 다른 배열로 확장
array=[1,2,3]
array1=[4,5,6]
array.extend(array1)
print(array)
## 결 과 :
[1,2,3,4,5,6]
Index():
Method | Description | Syntax |
---|---|---|
Index(): | 배열에서 요소의 인덱스를 찾음 | array.index(element) |
# 배열의 요소 인덱스 반환
array=[1,2,3]
print(array.index(3))
## 결 과 :
2
Insert():
Method | Description | Syntax |
---|---|---|
Insert(): | T지정된 인덱스에 배열의 요소를 삽입 | array.insert(index,element) |
#배열에 지정된 인덱스에 요소 삽입
array=[1,2,3]
array.insert(2,4)
print(array)
## 결 과 :
[1,2,4,3]
Pop():
Method | Description | Syntax |
---|---|---|
Pop(): | This method helps 지정된 인덱스에서 요소를 제거 | array.pop(index) |
#pop 메서드를 통해 지정된 인덱스의 요소 제거
array=[1,2,3]
array.pop(2)
print(array)
## 결 과 :
[1,2]
Remove():
Method | Description | Syntax |
---|---|---|
Remove(): | 배열에서 특정 일치 요소를 제거 | array.remove(element) |
array=[1,2,3]
array.remove(2)
print(array)
## 결 과 :
[1,3]
Reverse():
Method | Description | Syntax |
---|---|---|
Reverse(): | 배열의 요소를 뒤집음 | array.reverse() |
array=[1,2,3,4]
array.reverse()
print(array)
## 결 과 :
[4,3,2,1]