-
[부캠] Python Data Structure카테고리 없음 2021. 1. 20. 23:07
- 스택(Stack)
- 큐(Queue)
- 튜플(Tuple)
- 집합(Set)
- 사전(dictionary)
- Collection 모듈
스택(Stack)
-Last In Last Out 의 메모리 구조
-주로 리스트를 이용해서 스택을 구현함.
a=[1,2,3,4,5] a.append(6) #stack에 push a.append(7) a.pop() #stack에서 pop
큐(Queue)
- FIFO(First In First Out) 의 구조
- 리스트 또는 collection deque 모듈을 사용하여 구현
a=[1,2,3,4,5] a.append(6) #push a.pop(0) #제일 처음인 원소를 반환 from collections import deque a=deque() a.append(1) a.append(2) a.popleft()
튜플(Tuple)
-값의 변경이 불가능한 리스트
- () 를 사용하여 선언
- 프로그램을 작동하는 동안 변경되지 않는 데이터의 저장에 이용
t=(1,2,3)
집합(Set)
-값의 순서없이 저장
-중복 불허하는 자료형
-수학의 다양한 집합연산 가능
s=set([1,2,3,4]) s.add(1) # 중복안됨 #s={1,2,3,4} s.remove(1) #s={2,3,4} s.clear() #s={} s1=set([1,2,3]) s2=set([2,3,4,5]) s1.union(s2) #합집합 #{1,2,3,4,5} s1|s2 #합집합 #{1,2,3,4,5} s1.intersection(s2) #교집합 #{2,3} s1&&s2 #교집합 #{2,3} s1.difference(s2) #차집합 #{1} s1-s2 #차집합 #{1}
사전(Dictionary)
-Key값-Value값으로 저장되는 자료구조
-Hash Table이라는 용어로도 사용 (엄연히는 다름)
dict={'one':1,'two':2,'three':3} dict['four']=4 #dict={'one':1,'two':2,'three':3,'four':4} dict.keys() #dict_keys(['one','two',three','four']) dict.values() #dict_values([1,2,3,4])
Collection module 모음
from collections import deque from collections import Counter from collections import defaultdict from collections import namedtuple #더 빠른 stack, queue를 만들 수 있음 from collections import deque deque_list = deque() for i in range(5): deque_list.append(i) deque_list.appendleft(10) print(deque_list) from collections import defaultdict #d = defaultdict(object) d = defaultdict(lambda: 0) # Default 값을 0으로 설정함 print(d["first"]) #0 from collections import Counter s='abcdeffg' sc=Counter(s) #sc={'a':1,'b':2,'c':3,'d':1,'e':1,'f':2,'g':1}