
배열은 같은 타입의 데이터가 여러 개 있을 때 사용하는 자료구조입니다. 배열은 하나의 값을 저장하는 변수가 아니라 묶음 단위로 값을 저장하는 형태입니다. 배열의 각 값은 '원소'라고 하며, 이 원소들은 인덱스(0부터 시작)를 부여받습니다.
배열의 최대 크기는 메모리 크기에 따라 결정되며, 이 메모리에 배열이 들어갑니다.
배열의 시간 복잡도는 데이터를 찾거나 수정하는 데 걸리는 시간입니다.
tmp = a[i]a[i] = tmp배열은 length = N개의 원소와 Type의 크기(M, 예: int는 4byte)를 가집니다. 배열의 저장 공간 크기는 N * M이며, 이는 O(N) 공간 복잡도를 가집니다.
파이썬에서는 배열을 리스트(list)와 튜플(tuple)로 구현할 수 있습니다.
list1 = [1] * 3 → [1, 1, 1]tuple1 = (1, 2, 3)list1[1:5] → [2, 3, 4, 5], list1[:5:2] → [1, 3, 5]파이썬에서는 변수에 다른 값을 대입할 때 값의 참조 번호가 변경됩니다. 이를 통해 참조와 복사를 구분할 수 있습니다.
a = ba == ba is ba is b| 메소드 | 설명 | 예제 |
|---|---|---|
append(x) | 리스트 끝에 요소 추가 | arr.append(5) |
extend(iterable) | 리스트 확장(병합) | arr.extend([4, 5]) |
insert(i, x) | i번째 위치에 x 삽입 | arr.insert(2, 10) |
remove(x) | x 값을 삭제 | arr.remove(3) |
pop(i) | i번째 요소 제거 후 반환 | arr.pop(1) |
clear() | 리스트 모든 요소 삭제 | arr.clear() |
index(x) | x의 첫 번째 위치 반환 | arr.index(2) |
count(x) | x의 개수 반환 | arr.count(2) |
sort() | 오름차순 정렬 | arr.sort() |
sorted(list) | 정렬된 새 리스트 반환 | sorted(arr) |
reverse() | 리스트 순서 뒤집기 | arr.reverse() |
copy() | 리스트 복사 | new_arr = arr.copy() |
' '.join(list) | 리스트 → 문자열 | '-'.join(arr) |
split(separator) | 문자열 → 리스트 | '1,2,3'.split(',') |
len(list) | 리스트 길이 반환 | len(arr) |
max(list) | 최댓값 구하기 | max(arr) |
min(list) | 최솟값 구하기 | min(arr) |
sum(list) | 합계 구하기 | sum(arr) |