파이썬 배열이란?
파이썬 배열은 동일한 데이터 유형의 요소를 갖는 공통적인 유형의 데이터 구조의 컬렉션입니다.
데이터 컬렉션을 저장하는 데 사용됩니다. 파이썬 프로그래밍에서 배열은 “배열” 모듈에 의해 처리됩니다. 배열 모듈을 사용하여 배열을 만드는 경우 배열의 요소는 동일한 숫자 유형이어야 합니다.
파이썬 배열 사용
파이썬 배열은 같은 유형의 많은 변수를 사용해야 할 때 사용됩니다. 또한 데이터 컬렉션을 저장하는 데 사용할 수도 있습니다.
배열은 특히 데이터를 동적으로 처리해야 할 때 유용합니다. 파이썬 배열은 메모리를 덜 사용하기 때문에 목록보다 훨씬 빠릅니다.
배열의 생성 구문
다음 구문을 사용하여 파이썬에서 배열을 선언하고 초기화 할 수 있습니다.
arrayName = array.array(type code for data type, [array,items])
구문에 대한 해설

- 식별자 : 일반적으로 변수에 사용하는 것과 같은 이름을 지정합니다.
- 모듈 : 파이썬에는 “array”라는 배열을 생성하기 위한 특수 모듈이 있습니다. 사용하기 전에 이 모듈을 가져와야 합니다.
- 방법 : 배열 모듈에는 배열을 초기화하는 방법이 있습니다. 두 개의 인수, 유형 코드 및 요소를 사용합니다.
- 유형 코드 : 사용 가능한 유형 코드를 사용하여 데이터 유형을 지정합니다(아래 목록 참조)
- 요소 : 대괄호 안에 배열 요소를 지정합니다(예: [110,430,193]).
파이썬 배열 만드는 방법
다음과 같은 구문을 사용해서 배열을 생성 합니다.
Class array.array(type code[,initializer])
### 예시
import array as myarray
abc = myarray.array('d', [2.5, 4.9, 6.7])
위의 코드는 정수형 배열을 생성합니다. 문자 ‘d’는 유형 코드입니다.
다음 표는 유형 코드를 보여줍니다.
유형 코드 | 파이썬 타입 | C형 | 최소 크기(바이트) |
---|---|---|---|
‘u’ | 유니코드 문자 | Py_UNICODE | 2 |
‘b’ | Int | Signed char | 1 |
‘B’ | Int | Unsigned char | 1 |
‘h’ | Int | Signed short | 2 |
‘l’ | Int | Signed long | 4 |
‘L’ | Int | Unsigned long | 4 |
‘q’ | Int | Signed long long | 8 |
‘Q’ | Int | Unsigned long long | 8 |
‘H’ | Int | Unsigned short | 2 |
‘f’ | Float | Float | 4 |
‘d’ | Float | Double | 8 |
‘i’ | Int | Signed int | 2 |
‘I’ | Int | Unsigned int | 2 |
배열 요소에 접근하는 법
인덱스를 사용하여 모든 배열 항목에 액세스할 수 있습니다.
arrayName[indexNum]
### 예시
import array
balance = array.array('i', [300,200,100])
print(balance[1])
### 결과
200
다음 이미지는 인덱스를 통해 배열 항목에 액세스하는 기본 개념을 보여줍니다.

여기서 우리는 인덱스인 1을 사용하여 배열의 두 번째 값에 접근했습니다. 이것의 출력은 200이 되는데, 이는 기본적으로 균형 잡힌 배열의 두 번째 값입니다.
배열 인덱스는 0부터 시작합니다. -1 인덱스를 사용하여 배열의 마지막 요소에 액세스할 수도 있습니다.
import array as myarray
abc = myarray.array('d', [2.5, 4.9, 6.7])
print("Array first element is:",abc[0])
print("Array last element is:",abc[-1])
### 결과
Array first element is: 2.5
Array last element is: 6.7
아래의 Python 배열 예제에서 보듯이 ‘:’ 연산자를 사용하여 요소에 액세스할 수도 있습니다.
import array as myarray
abc= myarray.array('q',[3,9,6,5,20,13,19,22,30,25])
print(abc[1:4])
print(abc[7:10])
#결 과
array('q', [9, 6, 5])
array('q', [22, 30, 25])
이 작업을 슬라이싱 작업 이라고 합니다
배열에 요소를 삽입하는 방법
배열 삽입 연산을 사용하면 배열의 시작, 끝 또는 지정된 인덱스에 하나 이상의 항목을 삽입할 수 있습니다. 이 메서드는 index와 value라는 두 개의 인수를 사용합니다.
## 사용구문
arrayName.insert(index, value)
[예시 1]
배열의 두 번째 항목 바로 뒤에 새 값을 추가해 보겠습니다. 현재 balance 배열에는 300, 200, 100이라는 세 개의 항목이 있습니다. 두 번째 배열 item의 값이 200이고 인덱스가 1인 경우를 생각해 보겠습니다.
인덱스 1 바로 뒤에 새 값을 삽입하려면 아래 Python 배열 예제에서 볼 수 있듯이 삽입 메서드에서 인덱스 2를 참조해야 합니다.
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
## 결 과 :
array('i', [300,200,150,100])
[예시 2]
import array as myarr
a=myarr.array('b',[2,4,6,8,10,12,14,16,18,20])
a.insert(2,56)
print(a)
## 결 과 :
array('b', [2, 4, 56, 6, 8, 10, 12, 14, 16, 18, 20])
요소를 수정하는 방법
배열은 변경 가능합니다. 다음 구문을 사용하여 배열을 수정할 수 있습니다.
Object_name[index]=value;
[예시]
import array as myarr
a=myarr.array('b',[3,6,4,8,10,12,14,16,18,20])
a[0]=99
print(a)
## 결 과 :
array('b', [99, 6, 4, 8, 10, 12, 14, 16, 18, 20])
파이썬에서는 배열에 대한 연결 연산을 수행할 수도 있습니다.
import array as myarr
first = myarr.array('b', [4, 6, 8])
second = myarr.array('b', [9, 12, 15])
numbers = myarr.array('b')
numbers = first + second
print(numbers)
## 결 과 :
array('b', [4, 6, 8, 9, 12, 15])
위의 파이썬 배열 예제 코드는 “first”와 “second”라는 두 변수를 연결합니다. 결과는 “number”라는 변수에 저장됩니다.
마지막 코드 줄은 두 개의 배열을 출력하는 데 사용됩니다.
파이썬에서 배열에서 요소를 꺼내는 방법
pop() 메서드를 사용하여 파이썬 배열에서 요소를 꺼내올 수 있습니다. 아래는 파이썬에서 pop() 메서드를 사용하는 예시입니다.
import array as myarr
first = myarr.array('b', [20, 25, 30])
first.pop(2)
print(first)
## 결 과 :
array('b', [20, 25])
‘del’ 문을 사용할 수도 있습니다.
import array as myarr
no = myarr.array('b', [10, 4, 5, 5, 7])
del no[4]
print(no)
### 결 과 :
array('b', [10, 4, 5, 5])
배열의 요소 삭제 방법
이 연산을 사용하면 배열에서 값을 기준으로 한 항목을 삭제할 수 있습니다. 이 메서드는 값이라는 하나의 인수만 받습니다. 이 메서드를 실행하면 배열 항목이 재정렬되고 인덱스가 다시 할당됩니다.
## 구문
arrayName.remove(value)
배열에서 “3” 값을 제거해 보겠습니다.
import array as myarray
first = myarray.array('b', [2, 3, 4])
first.remove(3)
print(first)
### 결 과 :
array('b', [2, 4])
배열에서 값의 인덱스를 검색하고 가져오는 방법
이 연산을 사용하면 값을 기준으로 배열에서 항목을 검색할 수 있습니다. 이 메서드는 value라는 하나의 인수만 받습니다. 비파괴적 메서드이므로 배열 값에 영향을 미치지 않습니다.
## 구문
arrayName.index(value)
배열에서 “3”의 값을 찾아 보겠습니다. 이 메서드는 검색된 값의 인덱스를 반환합니다.
import array as myarray
number = myarray.array('b', [2, 3, 4, 5, 6])
print(number.index(3))
## 결 과 :
1
이 작업은 언급된 요소가 처음 나타나는 인덱스를 반환합니다.
파이썬에서 배열을 뒤집는 방법
이 작업을 수행하면 배열 전체가 반전됩니다.
## 구 문 :
array.reverse()
## 예 시 :
import array as myarray
number = myarray.array('b', [1,2, 3])
number.reverse()
print(number)
## 결 과 :
array('b', [3, 2, 1])
배열을 유니코드로 변환
배열을 유니코드로 변환할 수 있습니다. 이를 위해서는 배열이 ‘u’ 타입이어야 합니다. 그렇지 않으면 “ValueError”가 발생합니다.
from array import array
p = array('u',[u'\u0050',u'\u0059',u'\u0054',u'\u0048',u'\u004F',u'\u004E'])
print(p)
q = p.tounicode()
print(q)
## 결 과 :
array('u', 'PYTHON')
PYTHON
배열에서 값의 발생 횟수 세기
array.count(x) 구문을 사용하여 배열에서 요소의 발생 횟수를 셀 수도 있습니다.
import array as myarr
number = myarr.array('b', [2, 3, 5, 4,3,3,3])
print(number.count(3))
## 결 과 :
4
배열 탐색
다음과 같이 루프를 사용하여 배열을 탐색할 수 있습니다.
import array
balance = array.array('i', [300,200,100])
for x in balance:
print(x)
## 결 과 :
200
300
100
요약정리
- 배열은 모든 요소가 동일한 데이터 유형이어야 하는 일반적인 유형의 데이터 구조입니다.
- 파이썬 프로그래밍 에서 배열은 “array” 모듈로 처리할 수 있습니다.
- 파이썬의 배열은 동일한 유형의 여러 변수를 사용해야 할 때 사용됩니다.
- 파이썬에서는 인덱스를 통해 배열 요소에 접근합니다.
- 배열 요소는 array.insert(i,x) 구문을 사용하여 삽입할 수 있습니다.
- 파이썬에서는 배열이 변경 가능합니다.
- 파이썬에서 개발자는 pop() 메서드를 사용하여 Python 배열에서 요소를 꺼내올 수 있습니다.
- 파이썬의 배열을 유니코드로 변환할 수 있습니다. 이를 위해서는 배열이 ‘u’ 타입이어야 합니다. 그렇지 않으면 “ValueError”가 발생합니다.
- 파이썬 배열은 리스트와 다릅니다.
- 인덱스를 사용하여 모든 배열 항목에 액세스할 수 있습니다.
- 파이썬의 배열 모듈에는 배열 연산을 수행하기 위한 별도의 함수가 있습니다.
1 thought on “2-6. 파이썬 배열 – 정의 사용법”