[Python] array Class
- Python/기초
- 2021. 4. 28.
array 모듈을 이용한 array 사용법입니다.
거의 쓰이진 않지만 numpy의 nd.array를 좀 더 이해할 수 있을것 같아서 정리를 해봅니다.
array 만들기
array를 만들어보겠습니다.
array를 만들려면 리스트가 필요합니다.
리스트 하나를 만들고 만들어보겠습니다.
import array
v = [1.0,2.0,3.0,4.0,5.0]
a= array.array('f',v)
a
v라는 리스트를 array로 바꾸었습니다. 'f'는 float을 의미합니다.
array는 데이터타입을 결정해주어야 합니다.
데이터 타입은 다음과 같이 나타냅니다.
Type code | C Type | Minimum size in bytes |
'b' | signed integer | 1 |
'B' | unsigned integer | 1 |
'u' | Unicode character | 2 |
'h' | signed integer | 2 |
'H' | unsigned integer | 2 |
'i' | signed integer | 2 |
'I'(대문자 i) | unsigned integer | 2 |
'l'(소문자 L) | sgined integer | 4 |
'L' | unsigned integer | 4 |
'q' | signed integer | 8 |
'Q' | unsigned integer | 8 |
'f' | floating point | 4 |
'd' | floating point | 8 |
위 표는 jupyter에서 Shift+Tap을 하면 자세히 나와있습니다.
type code를 막 쓸 수도 없는게 리스트가 만들어진 타입이 아니면 안됩니다.
l로 하라고 했더니 float인것을 할 수 없다고 합니다.
array 원소 추가
array는 원소추가하는 방법이 append, extend 가 있습니다.
다른 타입을 넣을 수 없고 같은 타입의 데이터만 추가할 수 있습니다.
a.append(6.0)
a
a.extend([7.0,8.0])
a
둘의 차이점은 append는 원소를 하나씩 넣을 수 있고 extend는 원소 하나 이상을 리스트로 지정하면 넣을수 있습니다.
2*a
array에 2를 곱하면 array가 연속적으로 두배가 되어서 나타납니다. 원소가 2개씩 늘어났습니다.
리스트로 다시 돌리고 싶으면 tolist()를 하면 됩니다.
a.tolist()
array 저장
array를 실제 파일로 저장해보겠습니다.
open을 이용해서 할 수 있습니다.
with open('array.apy','wb') as f:
a.tofile(f)
탐색기에서 찾아보면 해당파일이 있는 것을 볼 수 있습니다.
array 불러오기
b = array.array('f')
with open('array.apy','rb') as f:
b.fromfile(f,5)
b
b에 5개원소만 불러오라고 요청했고 5개의 원소로 된 array가 되었습니다.
기본 array에 대해서 알아보았는데요. 많이 유용하진 않아보이긴 합니다.
기본 array보다는 numpy.array 가 좀 더 특화되고 편해진 방법인 걸 알 수 있었던 시간이었습니다.
관련 포스팅
[Python/Numpy] - ndarray 생성(2) random모듈
'Python > 기초' 카테고리의 다른 글
[Python] 패키지 설치 목록으로 나의 개발환경 복사하기 (0) | 2021.06.07 |
---|---|
파이썬에서 특정확장자 파일 찾기 (2) | 2021.06.03 |
[Python] conda 기본 명령 (0) | 2021.04.24 |
[Python] Set (0) | 2021.04.18 |
[Python]리스트, 딕셔너리 메모장에 저장,불러오기 (0) | 2021.04.03 |