Python Data Structure

wldnjswldnjs·2022년 12월 31일
0

python

목록 보기
3/8

1. 스택

  • 나중에 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조
    -> Last In First Out (LIFO)

  • push를 append(), pop을 pop()를 사용

  • pop : return이 존재하면서도 a 자체가 변한다.
  • sort : return 없이 정렬시키는 것
  • sorted : 리스트는 변화시키지 않으면서 정렬된 값만 return

2. 큐

  • 먼저 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조
    -> First In First Out (FIFO)

  • put를 append(), get을 pop(0)를 사용

3. 튜플

  • 값의 변경이 불가능한 리스트
  • 선언시 []가 아닌 ()를 사용
  • 리스트의 연산, 인덱싱, 슬라이싱 등을 동일하게 사용

사용하는 이유

  • 프로그램을 작동하는 동안 변경되지 않은 데이터의 저장
    ex) 학번, 이름, 우편번호 등
  • 함수의 반환 값등 사용자의 실수에 의한 에러를 사전에 방지

4. set

  • 값을 순서없이 저장, 중복 불허 하는 자료형

  • set 객체 선언을 이용하여 객체 생성

  • set함수 사용

  • 수학에서 활용하는 다양한 집합연산 가능

합집합

교집합

차집합

5. dict

  • 데이터를 저장할 때 구분 지을 수 있는 값을 함께 저장
    ex) 주민등록번호, 제품 모델 번호

  • 구분을 위한 데이터 교유 값을 Identifier 또는 Key 라고 함

  • Key 값을 활용하여, 데이터 값(Value)를 관리함

  • Key와 Value를 매칭하여 key를 value로 검색

  • 다른 언어에서는 Hash Table이라는 용어를 사용

  • {Key1:Value1, Key2:Value2, Key3:Value3 ...} 형태

6. collections

  • List, Tuple, Dict에 대한 Python Built-in 확장 자료 구조(모듈)
  • 편의성, 실행 효율 등을 사용자에게 제공함

decue

  • Stack과 Queue를 지원하는 모듈
  • List에 비해 효율적인=빠른 자료 저장 방식을 지원함

Counter

  • Sequence type의 data element들의 갯수를 dict 형태로 반환

  • 연산 가능

defaultdict

  • Dict type의 값에 기본 값을 지정, 신규값 생성시 사용하는 방법

  • 하나의 지문에 각 단어들이 몇 개나 있는지 세고 싶은 경우
    -> Text-mining 접근법 - Vector Space Model

namedtuple

  • Tuple 형태로 Data 구조체를 저장하는 방법
  • 저장되는 data의 variable을 사전에 지정해서 저장

0개의 댓글