[python] OrderedDict

insung·2025년 2월 20일

python

목록 보기
2/3

OrderedDict란?

  • Python의 collections 모듈에서 제공하는 강력한 데이터 구조
  • OrderedDict는 키-값 쌍의 삽입 순서를 유지하는 딕셔너리.
    • 이는 일반 딕셔너리와 달리 항목을 반복할 때

OrderedDict의 주요 특징

  • 순서 유지: OrderedDict는 항목이 추가된 순서를 기억
  • 키 값 변경: 키의 값을 변경해도 해당 항목의 위치는 변경되지 않음
  • 항목 삭제 및 재삽입: 항목을 삭제하고 다시 삽입하면 해당 항목은 딕셔너리의 끝으로 이동

OrderedDict의 유용한 메서드

  • move_to_end()
    • 특정 키를 OrderedDict의 끝으로 이동시킬 수 있음
      pythonod = OrderedDict([('apple', 1), ('banana', 2), ('cherry', 3)])
      od.move_to_end('apple', last=True | False)
      print(od)  *# OrderedDict([('banana', 2), ('cherry', 3), ('apple', 1)])*
  • popitem()
    • OrderedDict에서 항목을 제거하고 반환 기본적으로 마지막 항목을 제거

      `pythonod = OrderedDict([('apple', 1), ('banana', 2), ('cherry', 3)])
      last_item = od.popitem(last=True | False)
      print(last_item)  *# ('cherry', 3)*
      print(od)  *# OrderedDict([('apple', 1), ('banana', 2)])*`
  • update()
    • OrderedDict에 새로운 항목을 추가하거나 기존 항목을 업데이트

      pythonod = OrderedDict([('apple', 1), ('banana', 2)])
      od.update({'cherry': 3, 'apple': 5})
      print(od)  *# OrderedDict([('apple', 5), ('banana', 2), ('cherry', 3)])*

OrderedDict vs 일반 딕셔너리

  • Python 3.7 이전 버전에서는 OrderedDict와 일반 딕셔너리의 주요 차이점은 순서 유지
  • Python 3.7부터는 일반 딕셔너리도 삽입 순서를 유지
    • 그럼에도 불구하고 OrderedDict는 여전히 유용한 기능을 제공
      1. 명시적 순서 보장: 코드의 의도를 명확히 전달합니다.
      2. 특별한 순서 조작 메서드: move_to_end()와 같은 메서드를 제공합니다.
      3. 동등성 비교: OrderedDict는 항목의 순서까지 고려하여 동등성을 비교합니다4.

결론

OrderedDict는 순서가 중요한 상황에서 매우 유용한 데이터 구조

특히 데이터의 삽입 순서를 유지해야 하는 경우나 순서를 조작해야 하는 경우 유용

profile
안녕하세요 프론트엔드 관련 포스팅을 주로 하고 있습니다

0개의 댓글