PYTHON · 기초 문법
OrderedDict
OrderedDict는 삽입 순서를 보장하며, 순서 관련 추가 기능을 제공합니다. Python 3.7+에서 일반 dict도 순서를 보장하지만 차이점이 있습니다.
기초 문법중급OrderedDict순서collections딕셔너리
핵심 설명
OrderedDict는 삽입 순서를 보장하며, 순서 관련 추가 기능을 제공합니다. Python 3.7+에서 일반 dict도 순서를 보장하지만 차이점이 있습니다.
Python code
from collections import OrderedDict
# OrderedDict 고유 기능
od = OrderedDict()
od["c"] = 3
od["a"] = 1
od["b"] = 2
# move_to_end: 항목을 끝으로 이동
od.move_to_end("c")
print(list(od.keys())) # ['a', 'b', 'c']
# move_to_end(last=False): 처음으로 이동
od.move_to_end("b", last=False)
print(list(od.keys())) # ['b', 'a', 'c']
# popitem: LIFO (기본) 또는 FIFO
print(od.popitem()) # ('c', 3) 마지막
print(od.popitem(last=False)) # ('b', 2) 처음
# 순서가 같아야 동등
od1 = OrderedDict([("a", 1), ("b", 2)])
od2 = OrderedDict([("b", 2), ("a", 1)])
print(od1 == od2) # False (순서 다름)
# 일반 dict는 순서 무시
print({"a": 1, "b": 2} == {"b": 2, "a": 1}) # True학습 팁
LRU 캐시 구현 시 OrderedDict의 move_to_end()가 유용합니다.
주의할 점
Python 3.7+ dict도 순서를 보장하지만, 동등 비교에서 순서를 고려하지 않습니다. 순서 기반 비교가 필요하면 OrderedDict를 사용하세요.
자주 묻는 질문
OrderedDict란 무엇인가요?
OrderedDict 는 삽입 순서를 보장하며, 순서 관련 추가 기능을 제공합니다. Python 3.7+에서 일반 dict도 순서를 보장하지만 차이점이 있습니다.
OrderedDict 학습 시 주의할 점은 무엇인가요?
Python 3.7+ dict도 순서를 보장하지만, 동등 비교에서 순서를 고려하지 않습니다. 순서 기반 비교가 필요하면 OrderedDict 를 사용하세요.
Continue Learning
Python 학습을 이어가세요
총 200개의 독립 HTML 학습 문서 중 하나입니다. 각 문서는 고유 URL과 canonical 메타데이터를 가집니다.