Home [BoostCamp AI Tech / Level 1 - Python/PyTorch] Day1 - Python DataStructures
Post
Cancel

[BoostCamp AI Tech / Level 1 - Python/PyTorch] Day1 - Python DataStructures

Python : Python DataStructure


Stack

  • Last In First Out(LIFO) 성질을 갖고있는 자료구조
  • 리스트를 통해 간단히 구현 가능
  • push : append(data)를 활용
  • pop : pop()을 활용
    • pop()은 return 값을 갖고 있음
  • example
    1
    2
    3
    
      ls = [1, 2, 3]
      ls.append(1)    # [1 ,2, 3, 1]
      ls.pop()        # 1
    

Queue

  • First In First Out(FIFO)의 성질을 갖고있는 자료구조
  • 리스트를 통해 구현 가능
  • push : append(data) 활용
  • pop : pop(0)를 활용하면 가장 앞의 값을 pop함
  • example
    1
    2
    3
    
      ls = [2, 1, 3]
      ls.append(3)    # [2, 1, 3, 3]
      ls.pop(0)       # 2
    

Tuple

  • 값의 변경이 불가능한 리스트
  • (a, b)로 선언할 수 있고 만약 값이 1개라면 (a,)와 같이 선언
  • 함수의 return 값으로 사용

Set

  • 집합의 성질을 갖는 자료구조
  • add, remove, update, discard와 같은 함수로 데이터를 추가/제거할 수 있음
  • union은 합집합 연산이며 |으로도 할 수 있음
  • intersection은 교집합 연산이며 &로도 할 수 있음
  • difference는 차집합 연산이며 -로도 할 수 있음

Module : collections

1
import collections
  1. dequeue : stack과 queue의 성질을 모두 갖는 자료구조
    • rotate, reverse등 linked list의 성질을 지원
    • 기존의 list보다 효율적인 연산을 보여줌
  2. defaultdict : dict의 기본값을 지정함
    • 신규값을 생성할 때 활용
    • text mining 과정에서 자주 사용됨
  3. Counter
    • sequence type data의 요소 개수를 반환
    • example
      1
      2
      
        ls = [1, 1, 2, 3, 4, 4, 5, 5]
        collections.Counter(ls)         # Counter({1:2, 2:1, 3:1, 4:2, 5:2})
      
  4. namedtuple
    • C나 C++의 구조체와 같은 역할
This post is licensed under CC BY 4.0 by the author.

[Review] 네이버 부스트캠프 AI Tech 3기 합격 후기

[BoostCamp AI Tech / Level 1 - Python/PyTorch] Day1 - Pythonic code

Comments powered by Disqus.