PHpullh

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 캐시 구현 시 OrderedDictmove_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 메타데이터를 가집니다.