2-6. 파이썬 배열 – 정의 사용법

파이썬 배열이란?

파이썬 배열은 동일한 데이터 유형의 요소를 갖는 공통적인 유형의 데이터 구조의 컬렉션입니다.
데이터 컬렉션을 저장하는 데 사용됩니다. 파이썬 프로그래밍에서 배열은 “배열” 모듈에 의해 처리됩니다. 배열 모듈을 사용하여 배열을 만드는 경우 배열의 요소는 동일한 숫자 유형이어야 합니다.

파이썬 배열 사용

파이썬 배열은 같은 유형의 많은 변수를 사용해야 할 때 사용됩니다. 또한 데이터 컬렉션을 저장하는 데 사용할 수도 있습니다.
배열은 특히 데이터를 동적으로 처리해야 할 때 유용합니다. 파이썬 배열은 메모리를 덜 사용하기 때문에 목록보다 훨씬 빠릅니다.

배열의 생성 구문

다음 구문을 사용하여 파이썬에서 배열을 선언하고 초기화 할 수 있습니다.

arrayName = array.array(type code for data type, [array,items])

구문에 대한 해설

배열의 구조 설명
  1. 식별자 : 일반적으로 변수에 사용하는 것과 같은 이름을 지정합니다.
  2. 모듈 : 파이썬에는 “array”라는 배열을 생성하기 위한 특수 모듈이 있습니다. 사용하기 전에 이 모듈을 가져와야 합니다.
  3. 방법 : 배열 모듈에는 배열을 초기화하는 방법이 있습니다. 두 개의 인수, 유형 코드 및 요소를 사용합니다.
  4. 유형 코드 : 사용 가능한 유형 코드를 사용하여 데이터 유형을 지정합니다(아래 목록 참조)
  5. 요소 : 대괄호 안에 배열 요소를 지정합니다(예: [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_UNICODE2
‘b’IntSigned char1
‘B’IntUnsigned char1
‘h’IntSigned short2
‘l’IntSigned long4
‘L’IntUnsigned long4
‘q’IntSigned long long8
‘Q’IntUnsigned long long8
‘H’IntUnsigned short2
‘f’FloatFloat4
‘d’FloatDouble8
‘i’IntSigned int2
‘I’IntUnsigned int2

배열 요소에 접근하는 법

인덱스를 사용하여 모든 배열 항목에 액세스할 수 있습니다.

 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. 파이썬 배열 – 정의 사용법”

Leave a Comment