Array는 동일한 데이터타입을 갖는 요소들의 배열을 저장하는데 사용함.
list와 유사하지만, list는 다양한 데이터타입을 요소로 가질 수 있음.
array는 동일한 타입의 데이터를 저장할때, 더 적은 메모리를 사용하고 처리속도도 더 빠르나, array는 수치데이터 타입에 한정적이며 메소드가 제한적.
Array는 파이썬에 내장되어 있지 않기 때문에 array module을 import해야한다.
# 기본구조
import array
arr = array.array(typecode, [element1, element2, ...])
Typecode
| TYPECODE | PYTHON TYPE | SIZE (bytes) |
|---|---|---|
| b | int | 1 |
| B | int | 1 |
| u | Unicode character | 2 |
| h | int | 2 |
| H | int | 2 |
| i | int | 2 |
| I | int | 2 |
| l | int | 4 |
| L | int | 4 |
| q | int | 8 |
| Q | int | 8 |
| f | float | 4 |
| d | float | 8 |
import array as arr
numbers = arr.array('i',[10,20,30])
print(numbers)
print(type(numbers))
array('i', [10, 20, 30])
<class 'array.array'>
만약 다른 데이터타입을 넣는다면 에러뜸
import array as arr
numbers = arr.array('i', [10.0, 20, 30])
print(numbers)
TypeError: 'float' object cannot be interpreted as an integer
# 빈 array 생성
arr = array.array(typecode)
print(arr)
array('i')
순서가 있어서 인덱스로 요소에 접근할 수 있다.
import array
numbers = array.array('i', [10, 20, 30])
print(numbers[0])
numbers[2] = 40
print(numbers)
10
array('i', [10, 20, 40])
append()
import array
numbers = array.array('i', [10, 20, 30])
numbers.append(40)
print(numbers)
array('i', [10, 20, 30, 40])
pop()
import array
numbers = array.array('i', [10, 20, 30])
numbers.pop(2)
print(numbers)
array('i', [10, 20])
remove()
import array
numbers = array.array('i', [10, 20, 30])
numbers.remove(20)
print(numbers)
array('i', [10, 30])
| Method | Description |
|---|---|
| append() | 리스트의 끝에 요소를 추가함 |
| clear() | 리스트의 모든 요소를 제거함. |
| copy() | 리스트의 복사본을 반환. |
| count() | 지정된 값과 일치하는 요소의 개수를 반환 |
| extend() | 리스트의 끝에 다른 요소를 추가함 |
| index() | 지정된 값과 첫번째로 일치하는 요소의 인덱스를 반환 |
| insert() | 지정된 위치에 요소를 추가함 |
| pop() | 지정된 위치의 요소를 제거함 |
| remove() | 지정된 값과 일치하는 첫번째 요소를 제거함 |
| reverse() | 리스트의 순서를 뒤집음 |
| sort() | 리스트를 정렬함 |
공통점
요소의 변경이 가능하고 크기가 고정되어있지 않음.
차이점
리스트는 서로다른 다양한 데이터타입을 저장할 수 잇음. array는 동일한 데이터타입만 가능함.
과학계산에 널리 사용되며 다차원배열을 지원함. 대량의 데이터 처리와 복잡한 수치계산을 위한 광범위한 함수를 제공.
# 기본구조
import numpy as np
arr = np.array([element1, element2, ...])
numpy도 array module과 동일하게 배열안의 요소는 같은 데이터타입이여야한다.
import numpy as np
arr = np.array([10, 20, 30])
print(arr)
print(type(arr))
[10 20 30]
<class 'numpy.ndarray'>
추가적으로 공부할 부분

