list, array, numpy array 비교

Suhyeon Lee·2024년 10월 23일
0

자기주도학습

목록 보기
32/83

파이썬에서 데이터를 담는 컨테이너 타입 중 list의 경우 선언을 크게 list, array, numpy.array로 나눌 수 있음 → 각각의 형태와 장단점 알아보기!

  • 동적으로 사용하기 편하게 하려면 기본 list
  • 저장만 효율적으로 하려면 array 모듈
  • 저장 이후 연산을 효율적으로 하려면 numpy.array

list

  • 파이썬에서 기본으로 사용할 수 있음
  • 동적 타이핑 덕분에 서로 다른 데이터 타입의 요소를 담을 수 있음
    • 이러한 유연성에는 비용이 존재
      • 각 항목이 완전한 파이썬 객체(리스트의 각 항목에 타입 정보와 참조 횟수, 기타 정보가 들어감)
        → 모든 변수가 같은 타입인 경우 이 정보가 대부분 불필요하게 중복됨
    • 모든 변수가 같은 타입일 경우 고정 타입 배열에 데이터를 저장하는 것이 더 효율적
_list = [True, 3, "3", 3.3]
[type(i) for i in _list]

# [bool, int, str, float]

array

  • 파이썬 3.3부터 제공하는 내장 모듈
  • 데이터를 효유적인 고정 타입 데이터 버퍼에 저장하는 다양한 방식을 제공
import array
arr = array.array('i', [1, 2, 3, 4, 5])

# array('i', [1, 2, 3, 4, 5])
  • array의 첫 번째 파라미터는 아래와 같은 표에 따름

numpy.array

  • numpy는 효율적인 저장소를 제공할 뿐만 아니라 효율적인 연산도 가능
    • 파이썬 내장 모듈인 array 모듈은 데이터에 효율적인 저장소만 제공
import numpy as np

np.array([1, 3, 4, 6])
  • 실행 결과

  • numpy는 배열의 모든 요소가 같은 타입이여야 함

    • 일치하지 않으면 numpy는 가능한 경우, 상위 타입을 취하게 만듦
import numpy as np

np.array([1.2, 3, 4, 6])


→ 정수가 상위 타입인 부동 소수점으로 변환

  • 명시적으로 결과 배열의 데이터 타입을 설정하려면 dtype 키워드 사용
import numpy as np

np.array([1, 3, 4, 6], dtype='float32')

profile
2 B R 0 2 B

0개의 댓글

관련 채용 정보