[Day 3] 파이썬의 자료구조

2021. 8. 4. 22:35AI 부스트캠프

파이썬의 기본 데이터 구조

  • 스택과 큐 
    • 스택(stack) : 늦게 들어온(push) 데이터가 먼저 나간(pop)다 (LIFO) / push = append
    • 큐(queue) : 먼저 들어온(append) 데이터가 먼저 나간(pop(0))다 (FIFO)
  • 튜플과 집합
    • 튜플(tuple) : 값의 변경이 불가능한 리스트(static 이라고 생각하면 될듯) / () 로 선언 및 사용
    • 집합(set) : 값을 순서없이(unordered) 저장 + 중복 허용 안함(C++의 unordered_set과 동일)
  • 딕셔너리 : 데이터를 저장 할때 구분 값과 같이 저장(C++의 map과 비슷한듯?) / key : value
  • deque 
    • 장점 1: list에 비해 효율적이고 빠른 자료 저장 방식 
    • 장점 2: linked list의 특성을 따른다
from collections import deque
deque_list=deque()
for i in range(5):
	deque_list.append(i)
print(deque_list)
deque_list.appendleft(10)
print(deque_list)

** Counter는 아직 이해과 활용이 어려움 => 다음에 다시 다룰때 확실하게 짚고 넘어갈 예정

 

파이써닉 코드 기법

  • split 과 join(중요!!!!!!!!! / 내 기준 가장많이 활용되는듯!!)
    • split : 문자열을 나눌때 기준값을 통해 나눠서 list 형태로 만든다.
    • .split() ## 빈칸기준
      .split(",") ## ,기준
    • join : 문자열 list를 합쳐서 하나의 문자열로 변환
    • ''.join() ## 공백없이 합침
      ' '.join() ## 각 문자열마다 빈칸을 기준으로 합침
  • list comprehension 
  • x = [i for i in range(10) if i%3 == 0)]
    
    >>> x
    >>>[0,3,6,9]​
  • lambda : 임의의 함수 선언 / ex) lambda x : ~~~
  • iterable object, geneartor : 주말때 보충 공부!!
  • asterisk = *
    • tuple, dict 등 자료형에 들어가 있는 값을 언패킹 해줌! << 가장 중요함 // 기타 곱셈이나 제곱등은 당연한것

'AI 부스트캠프' 카테고리의 다른 글

[Day 6] 딥러닝 basic & MLP  (0) 2021.08.09
[Day 1] numpy와 pandas  (4) 2021.08.06
[Day 5] 확률/통계학  (0) 2021.08.06
[Day 4] 경사하강법  (0) 2021.08.05
[Day 2] 파이썬의 String  (0) 2021.08.03