파이썬 컬렉션 모듈: OrderedDict
5867 단어 collectionspythoncodenewbie
왜 OrderedDict가 필요한가요?
Python의 사전은 Python 3.7+ 이후에 삽입 순서를 완전히 유지하므로
OrderedDict
의 사용 사례가 서서히 사라지고 있습니다. 그러나 여전히 OrderedDicts를 사용하는 동안 활용할 수 있는 몇 가지 도우미 메서드와 기능이 있습니다.OrderedDict 만들기
이후
dict
하위 클래스입니다. 사전의 모든 기능을 활용할 수 있습니다.OrderedDict
에만 관련된 몇 가지 중요한 방법에 대해 설명하겠습니다.포피템 방법
정렬된 사전에 대한
popitem(last = True)
메서드는 (키, 값) 쌍을 반환하고 제거합니다.쌍은 에서 반환됩니다.
LastInFirstOut(LIFO) last가 참인 경우 순서입니다. 즉, 마지막 쌍이 팝됩니다.(기본값)
False인 경우 FirstInFirstOut(FIFO) 순서입니다. 즉, 첫 번째 쌍이 팝됩니다.
from collections import OrderedDict
ord_dict = OrderedDict({"fname": "The",
"lname": "CodeBlooded",
"founder": "A Geek",
"Ran by": "Geeks"})
last_pair = ord_dict.popitem() # last=True by default
first_pair = ord_dict.popitem(last=False)
print(f'last pair: {last_pair}')
print(f'first pair: {first_pair}')
"""OUTPUT
last pair: ('Ran by', 'Geeks')
first pair: ('fname', 'The')
"""
move_to_end 방법
move_to_end(key, last=True)
는 기존 키를 정렬된 사전의 한쪽 끝으로 이동합니다.항목은 last가 true(기본값)이면 오른쪽 끝으로 이동하고 last가 false이면 처음으로 이동합니다.
from collections import OrderedDict
ord_dict = OrderedDict({"fname": "The",
"lname": "CodeBlooded",
"founder": "A Geek",
"Ran by": "Geeks"})
print(f'Before =>\n{ord_dict}')
# move to right-most end
ord_dict.move_to_end('founder')
# move to left-most end
ord_dict.move_to_end('Ran by', last=False)
print(f'After =>\n{ord_dict}')
"""OUTPUT
Before =>
OrderedDict([('fname', 'The'), ('lname', 'CodeBlooded'),
('founder', 'A Geek'), ('Ran by', 'Geeks')])
After =>
OrderedDict([('Ran by', 'Geeks'), ('fname', 'The'),
('lname', 'CodeBlooded'), ('founder', 'A Geek')])
"""
💡 주어진 키가 사전에 없으면 KeyError가 발생합니다.
이것으로
OrderedDict
에 대한 논의를 마쳤습니다! 지금까지 논의한 모든 Collections 클래스가 dict
하위 클래스라는 것을 알 수 있다면 흥미롭지 않습니까? 파이썬의 사전이 얼마나 강력한지에 대한 증거입니다 😎
Reference
이 문제에 관하여(파이썬 컬렉션 모듈: OrderedDict), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kathanvakharia/python-s-collections-module-orderddict-30ia텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)