[인공지능(AI) 기초 다지기] - Python Data Structure

Jeonghwan Kim·2022년 12월 10일
0

부스트코스 강의 인공지능(AI) 기초 다지기 중 'Python Data Structure'를 정리한 내용이다.

스택 (Stack)

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

  • Last In First Out (LIFO)

  • Data의 입력을 Push, 출력을 POP이라고 함

  • 리스트를 이용하여 스택 구조 구현 가능

    • push는 append(), pop은 pop() 사용

큐 (Queue)

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

  • First In First Out (FIFO)

  • Stack과 반대되는 개념

  • 리스트를 이용하여 큐 구조 활용

    • put은 append(), get은 pop(0) 사용

튜플 (tuple)

  • 값의 변경이 불가능한 리스트

  • []가 아닌 ()를 사용

  • 프로그램을 작동하는 동안 변경되지 않은 데이터를 저장할 때 사용, 사용자의 실수에 의한 에러를 사전에 방지

  • 값이 하나인 tuple은 반드시 , 를 붙여야 함

    t = (1, )

집합 (set)

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

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

  • 교집합, 합집합, 차집합 등 다양한 집합연산 가능

사전 (dictionary)

  • 데이터를 저장할 때 구분 지을 수 있는 값을 함께 저장

  • 구분을 위한 데이터 고유값을 Identifier 혹은 Key라고 함

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

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

Collections

  • List, Tuple, Dict에 대한 파이썬 built-in 모듈

deque

  • Stack과 Queue를 지원하는 모듈

  • List에 비해 효율적인 자료 저장 방식 지원, 효율적 메모리 구조로 처리 속도 향상

  • roate, reverse등 Linked List의 특성을 지원하고, 기존 List 형태의 함수를 모두 지원함

defaultdict

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

Counter

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

  • Set의 연산들을 지원함

namedtuple

  • Tuple 형태로 Data 구조체를 저장하는 방법

  • 저장되는 data의 variable을 사전에 지정해서 저장함

0개의 댓글