반응형
Python에서 array
모듈을 사용하는 방법은 매우 간단합니다. array
는 동일한 타입의 데이터만을 저장할 수 있는 배열을 생성할 수 있도록 도와줍니다. 기본적으로 리스트와 비슷하지만, 더 적은 메모리를 사용하며 빠르게 동작하는 배열을 만들 때 유용합니다.
array
모듈을 사용할 때 배열의 데이터 타입을 지정해야 합니다. 이를 위해 데이터 형식을 나타내는 타입 코드를 사용합니다. 예를 들어, 정수, 부동소수점 등의 데이터를 저장할 수 있습니다.
array
모듈 사용법
array
모듈은 Python 표준 라이브러리에 포함되어 있기 때문에 별도의 설치 없이 사용할 수 있습니다.
1. array
모듈 임포트하기
먼저 array
모듈을 임포트해야 합니다.
import array
2. 배열 생성하기
array
배열을 생성하려면 array.array()
를 사용하며, 첫 번째 인자로 타입 코드와 배열의 초기값을 전달합니다.
타입 코드
타입코드 | 데이터 형식 | 메모리 크기 |
i | 정수형 (signed int) | 2 또는 4바이트 |
f | 부동소수점 (float) | 4바이트 |
d | 부동소수점 (double) | 8바이트 |
3. 배열 예시
정수형 배열 생성
import array
# 정수형 배열 생성 (타입코드 'i'는 signed int를 의미)
int_array = array.array('i', [1, 2, 3, 4, 5])
print(int_array)
부동소수점형 배열 생성
import array
# 부동소수점형 배열 생성 (타입코드 'f'는 float를 의미)
float_array = array.array('f', [1.1, 2.2, 3.3, 4.4])
print(float_array)
4. 배열 조작하기
배열에 대한 조작은 리스트와 비슷한 방식으로 할 수 있습니다. 몇 가지 주요 메서드들을 소개합니다.
배열에 값 추가하기 (append
, extend
)
# 정수 배열 생성
int_array = array.array('i', [1, 2, 3])
# 배열 끝에 값 추가
int_array.append(4)
# 배열에 여러 값 추가
int_array.extend([5, 6, 7])
print(int_array) # 출력: array('i', [1, 2, 3, 4, 5, 6, 7])
배열에서 값 삭제하기 (remove
, pop
)
# 배열에서 값 삭제
int_array.remove(3) # 첫 번째로 등장하는 3을 삭제
print(int_array) # 출력: array('i', [1, 2, 4, 5, 6, 7])
# 인덱스로 값 삭제
int_array.pop(2) # 인덱스 2에 있는 값 삭제
print(int_array) # 출력: array('i', [1, 2, 5, 6, 7])
배열 요소에 접근하기 (인덱싱 및 슬라이싱)
# 인덱스로 접근
print(int_array[0]) # 출력: 1
# 슬라이싱
print(int_array[1:3]) # 출력: array('i', [2, 5])
5. 배열의 메모리 크기 확인하기
배열이 얼마나 많은 메모리를 사용하는지 확인할 수 있습니다.
print(int_array.itemsize) # 각 요소의 바이트 크기 출력
print(len(int_array)) # 배열의 길이 출력
print(int_array.buffer_info()) # 배열의 버퍼 정보 (주소와 길이) 출력
6. 배열을 리스트로 변환하기
배열을 리스트로 변환할 때는 tolist()
메서드를 사용합니다.
list_from_array = int_array.tolist()
print(list_from_array) # 출력: [1, 2, 5, 6, 7]
예제 전체 코드
import array
# 정수형 배열 생성
int_array = array.array('i', [1, 2, 3, 4])
# 배열에 값 추가
int_array.append(5)
int_array.extend([6, 7, 8])
# 배열 요소 접근 및 출력
print("배열 요소:", int_array)
print("첫 번째 요소:", int_array[0])
print("2번째 ~ 4번째 요소:", int_array[1:4])
# 배열에서 값 삭제
int_array.remove(3)
print("3 제거 후:", int_array)
# 배열을 리스트로 변환
list_from_array = int_array.tolist()
print("리스트로 변환:", list_from_array)
결론
array
모듈은 Python의 기본 리스트보다 메모리 효율적으로 배열을 사용할 수 있도록 해줍니다. 리스트와 비슷한 방식으로 사용할 수 있지만, 같은 데이터 타입을 강제하는 점과 메모리 사용이 더 적다는 점이 차이점입니다.
반응형
'언어 > Python' 카테고리의 다른 글
[ Python ] numpy 설치하기 (0) | 2024.09.07 |
---|---|
[ Python ] venv 가상환경으로 편리하게 사용하기 (1) | 2024.09.07 |
[ Python ] tan() 각도와 거리로 높이 구하기 (0) | 2024.09.07 |
[ Python ] math 패키지 사용하기 (0) | 2024.08.27 |
[ Python ] 원하는 만큼 난수를 만들어서 누적 횟수 확인해 보기 (0) | 2024.08.27 |