본문 바로가기
Python

Ordered dict 개념 및 기능 정리

by Queen2 2022. 10. 12.
728x90
반응형

Ordered dict 란?

Ordered dict는 형태는 일반 딕셔너리와 같지만, key가 누가 먼저 들어왔는지 순서를 기억하는 똑똑한 dict 입니다

 Collections 모듈의 일종이기 때문에 from collections import OrderedDict를 먼저 호출해야 합니다.

 

✔ popitem(last = True)

여기서 last=False 가 되면 deque의 popleft 처럼 last 가 아닌 == 제일 첫번째 값을 pop하게 됩니다. 

 

from collections import OrderedDict


ord_dict = OrderedDict().fromkeys('GeeksForGeeks')
>> OrderedDict([(‘G’, None), (‘e’, None), (‘k’, None), (‘s’, None), (‘F’, None), (‘o’, None), (‘r’, None)])

ord_dict.popitem()
>> OrderedDict([(‘G’, None), (‘e’, None), (‘k’, None), (‘s’, None), (‘F’, None), (‘o’, None)])

# Pop the key from beginning
ord_dict.popitem(last = False)
>> OrderedDict([(‘e’, None), (‘k’, None), (‘s’, None), (‘F’, None), (‘o’, None)])

 

✔ move_to_end(key, last=True)

이 메서드는 지정한 key의 값을 last=True는 가장 마지막에, last=False는 가장 첫번째에 key값을 옮기는 역할을 합니다

 

ord_dict.move_to_end('G')
>> OrderedDict([(‘e’, None), (‘k’, None), (‘s’, None), (‘F’, None), (‘o’, None), (‘r’, None), (‘G’, None)])

ord_dict.move_to_end('k', last = False)
>> OrderedDict([(‘k’, None), (‘e’, None), (‘s’, None), (‘F’, None), (‘o’, None), (‘r’, None), (‘G’, None)])

 

728x90
반응형

댓글