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
dequeue
: stack과 queue의 성질을 모두 갖는 자료구조rotate
,reverse
등 linked list의 성질을 지원- 기존의 list보다 효율적인 연산을 보여줌
defaultdict
: dict의 기본값을 지정함- 신규값을 생성할 때 활용
- text mining 과정에서 자주 사용됨
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})
namedtuple
- C나 C++의 구조체와 같은 역할
Comments powered by Disqus.