Appia의 IT세상

파이썬[Python] 036 Array(배열) 사용하기 본문

Python/Python 응용

파이썬[Python] 036 Array(배열) 사용하기

Appia 2020. 1. 15. 07:29
반응형

파이썬[Python]에서는 배열이라는 부분이 없습니다. 하지만, C언어에서 익숙한 많은 사용자들은 배열(Array) 대해서 매우 익숙하고, 배열(Array) 편의성에 대해서 요구 합니다.

 

이런 부분들을 충족하기 위해서, 배열에 대해서 기본 제공 모듈로 제공하고 있습니다.

그럼 C언어에서 사용하는 배열에 대해서 살펴보겠습니다.

int Array[6] = {45,42,33,14,15,16,17}

Index 0부터 시작하고, Size 맞게 맴버들이 저장됩니다. 그럼 Python에서 배열을 만들어 보겠습니다. 

from array import *
arrayName = array(type, [Values])

여기에서 사용할 수 있는 type은 다음과 같습니다. 

type
b sint8
B uint8
c charater(1byte)
i sint16
I uint16
f float32
d float64

간단한 예를 통해서 살펴보겠습니다. 

from array import *

earray = array('i', [1,2,3,4,5])

for x in earray:
    print(x)

위의 예제를 실행하면 다음과 같은 결과가 나옵니다. 

1
2
3
4
5

그럼 Index를 통하여 각 값에 대해 접근 해보도록 하겠습니다. 

from array import *

earray = array('i', [1,2,3,4,5])

print(earray[0])
print(earray[4])

다음과 같이 처음 생성한 배열(Array)에 [index]를 합쳐서 접근하시면 됩니다. 

 

그럼 이제는 간단한 파이썬[Python]에서 배열에 대해서 다음과 같은 기능들에 대해서 동작해보도록 하겠습니다. 

  • Insertion − 맴버추가

  • Deletion − 맴버 삭제

  • Search − 값을 통해 인덱스 값 반환

  • Update − 주어진 Index를 통한 맴버 값 업데이트 

 

Insert

그럼 맴버를 추가해보도록 하겠습니다. 이 부분에서 타입에 대해서 변경은 불가합니다. ( 원래 배열은 데이터 타입등이 변경이 안되죠.) 인덱스 값에 데이터를 추가해주식시고, 기존 그 인덱스에 존재하던 맴버들부터 한단계식 뒤로 밀린다고 보시면 됩니다. 

 

예제를 한번 살펴보겠습니다. 

from array import *

earray = array('i', [1,2,3,4,5])
earray.insert(1,20)

for x in earray:
    print(x)

그럼 다음과 같은 결과가 나옵니다. 

1
20
2
3
4
5

 

remove

그럼 이제 배열(Array)에서 맴버를 삭제 해보도록 하겠습니다. 여기에서는 인데스 값이 아니고, 맴버를 명시해주면 됩니다. 

from array import *

earray = array('i', [1,2,3,4,5])
earray.remove(4)

for x in earray:
    print(x)

위의 예제를 실행하면 다음과 같은 결과가 나옵니다. 

1
2
3
5

 

Search 

값을 통해서 인덱스 값을 검색하는 기능입니다. 

from array import *

earray = array('i', [100,200,300,400,500])
print(earray.index(300))

다음 예제를 실행하면 다음과 같은 결과를 나타냅니다. 

2

 

Update

이 부분은 인덱스 값을 통하여 그 인덱스에 해당하는 값을 업데이트 하는 기능입니다. 

from array import *

earray = array('i', [100,200,300,400,500])
earray[0] = 10

for x in earray:
	print(x)

다음 예제를 실행하면 다음과 같이 결과가 나옵니다. 

10
200
300
400
500

 

이번 포스팅에서는 파이썬[Python]에서 제공하는 모듈을 통해서, 배열을 생성하고 사용하는 방법에 대해서 포스팅 해봤습다. 물론 저는 리스트나 기본 제공되는 타입들이 훨씬 편하지만, C언어의 배열같이 사용하고 싶다는 분들이 많으셔서 다음과 같이 포스팅을 해봤습니다. 도움이 되시길 바랍니다. 

반응형
Comments