2-7. 파이썬 2D 배열 : 2차원 배열 리스트

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

2차원 배열
2차원 배열 구조

위 이미지에서 우리는 인덱스가 각 배열 요소를 고유하게 식별한다는 것을 볼 수 있습니다.

파이썬에서 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():

MethodDescriptionSyntax
Append():기존 배열의 끝에 요소를 추가array.append(value)
## 예제
# 배열의 끝에 append 메서드를 사용하여 요소 추가 
array=[1,2,3] 
array.append(4) 
print(array)

## 결  과 :

[1,2,3,4]

Clear():

MethodDescriptionSyntax
Clear():배열에 존재하는 모든 요소를 ​​제거array.clear()
# 배열에서 모든 요소 제거 
array=[1,2,3]
array.clear()
print(array)

## 결  과 :

[]

Copy():

MethodDescriptionSyntax
Copy():배열의 내용을 새 배열로 복사array1=array.copy()
# 배열의 요소를 새 배열로 복사
array=[1,2,3] 
array1=[] 
array1=array.copy() 
print(array1)

## 결  과 :

[1,2,3]

Count():

MethodDescriptionSyntax
Count():배열에서 지정된 요소의 발생 횟수를 셈array.count(element)
# 배열에 요소가 존재하는 횟수 세기
array=[1,2,3]
print(array.count(8))

## 결  과 : 

0

Extend():

MethodDescriptionSyntax
Extend():배열을 구성 요소 너머로 확장array.extend(array1)
# 기존 배열을 다른 배열로 확장

array=[1,2,3] 
array1=[4,5,6] 
array.extend(array1) 
print(array)


## 결  과 :

[1,2,3,4,5,6]

Index():

MethodDescriptionSyntax
Index():배열에서 요소의 인덱스를 찾음array.index(element)
# 배열의 요소 인덱스 반환
array=[1,2,3] 
print(array.index(3))


## 결  과 : 

2

Insert():

MethodDescriptionSyntax
Insert():T지정된 인덱스에 배열의 요소를 삽입array.insert(index,element)
#배열에 지정된 인덱스에 요소 삽입

array=[1,2,3] 
array.insert(2,4) 
print(array)

## 결  과 :
[1,2,4,3]

Pop():

MethodDescriptionSyntax
Pop():This method helps 지정된 인덱스에서 요소를 제거array.pop(index)
#pop 메서드를 통해 지정된 인덱스의 요소 제거
array=[1,2,3] 
array.pop(2) 
print(array)

## 결  과 :

[1,2]

Remove():

MethodDescriptionSyntax
Remove():배열에서 특정 일치 요소를 제거array.remove(element)
array=[1,2,3]
array.remove(2)
print(array)

## 결  과 :

[1,3]

Reverse():

MethodDescriptionSyntax
Reverse():배열의 요소를 뒤집음array.reverse()
array=[1,2,3,4] 
array.reverse() 
print(array)

## 결  과 :

[4,3,2,1]

Leave a Comment