[네이버 부스트 캠프] AI PreCourse

Python Data Structure & Pythonic Code


스택 & 큐
튜플 & 집합
사전
Collection 모듈

Python Data Structure

스택

  • 나중에 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조
  • LIFO
  • Push Pop

  • 먼저 넣은 데이터를 먼저 반환하도록 설계된 메모리 구조
  • FIFO
  • Stack과 반대

튜플

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


    왜 쓸까?

  • 프로그램을 작동하는 동안 변경되지 않은 데이터의 저장 ex) 학번, 이름, 우편변호 등
  • 사용자에 실수에 의한 변경을 없애기 위해서
  • t=(1, ) 이렇게 쓰기

집합(set)

  • 값을 순서없이 저장, 중복 불허 하는 자료형
  • set 객체 선언을 이용하여 객체 생성
  • 선언 시 “{}” 나 set( ~~ ) 으로 사용
  • 수학에서 사용하는 기본적인 집합연산 가능
    intersection / difference / Union /

사전(dictionary)

  • 데이터를 저장 할 때는 구분 지을 수 있는 값을 함께 저장 예) 주민 번호, 모델 번호
  • 구분을 위한 데이터 고유 값을 Identifier 또는 Key 라고 함.
  • Key 값을 활용하여, 데이터 값(Value)를 관리함.
  • 선언 시 “{key : value}” 나 dict( ~~ ) 로 사용

collections

  • List, Tuple, DIct에 대한 Python Built-in 확장 자료 구조 (모듈)
  • 편의성, 실행 효율 등을 사용자에게 제공함
from collections import deque
from collections import Counter
from collections import OrderDict
from collections import defaultdict
from collections import namedtuple

deque

  • Stack과 Queue 를 지원하는 모듈
  • List에 비해 효율적인=빠른 자료 저장 방식을 지원함
  • rotate, reverse 등 Linked List의 특성을 지원

defaultDict

  • 하나의 지문에 같은 문제가 몇 개나 들어있는지 검사할 때 쓰일 수 있다.
  • dict로 값을 찾을 때, 없다면 error가 뜸. 그 초기값을 만들어주는 것이다.

Counter

  • Set의 연산들을 지원한다.
  • Set에서 키 값들의 갯수를 찾을 때 쓰인다.

namedtuple

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

태그:

카테고리:

업데이트: