본문으로 건너뛰기

데이터를 순차적으로 저장하는 '배열(Array)'

데이터를 순차적으로 저장하는 배열(Array)

배열은 같은 유형의 여러 데이터 요소들을 연속적인 메모리 위치에 저장하는 구조입니다. 각 요소는 인덱스(index)를 통해 접근할 수 있으며, 이 인덱스는 보통 0부터 시작합니다.


배열의 특징

  1. 고정된 크기(Fixed Size): 일반적으로 배열은 크기가 고정되어 있어, 배열을 생성할 때 그 크기를 미리 지정해야 합니다. 이는 배열이 메모리에 연속적으로 할당되어야 하기 때문입니다. 파이썬의 리스트와 같은 동적 배열은 이러한 제한을 극복하기 위해 내부적으로 재할당과 복사를 수행합니다.

  2. 인덱스를 통한 빠른 접근(Fast Access via Index): 배열의 각 요소는 고유한 인덱스(보통 0부터 시작)를 가지며, 이를 통해 상수 시간(O(1))에 특정 요소에 접근할 수 있습니다. 즉, 위치를 알고 있다면 매우 빠르게 데이터에 접근할 수 있습니다.

  3. 동일한 타입의 요소(Homogeneous Elements): 전통적인 배열은 같은 데이터 타입의 요소들로 구성됩니다. 예를 들어, 정수 배열은 정수만을, 문자 배열은 문자만을 저장합니다. 이는 메모리를 효율적으로 사용하고, 각 요소의 메모리 주소를 계산하는 것을 단순화합니다.

파이썬의 리스트는 배열과 유사하지만 크기가 고정되어 있지 않으며, 서로 다른 데이터 타입의 요소들을 저장할 수 있습니다. 파이썬 리스트와 같은 자료형은 동적 배열(dynamic array)이라고 부릅니다.


배열의 사용 예시

파이썬에서 배열을 사용하는 간단한 예시는 다음과 같습니다:

파이썬 배열 예시
# 파이썬에서 배열 생성하기
my_array = [10, 20, 30, 40, 50]

# 배열의 특정 요소에 접근하기
print(my_array[2]) # 출력: 30

# 배열의 길이 구하기
print(len(my_array)) # 출력: 5

# 배열에 요소 추가하기
my_array.append(60) # [10, 20, 30, 40, 50, 60]

# 배열의 특정 요소 변경하기
my_array[1] = 25 # [10, 25, 30, 40, 50, 60]

# 배열의 요소를 반복문으로 순회하기
for element in my_array:
print(element)