안녕하세요. 궁금증연구소 입니다.
오늘 포스팅 주제는 "딕셔너리의 저장순서와 OrderedDict의 활용" 입니다.
일반적인 딕셔너리는 위와같이 내용의 순서가 달라도 같은 값으로 인식합니다.
따라서 Python 버전 3.7이전에는 딕셔너리를 for문으로 돌리면 키값이 랜덤하게 나왔다. 3.7이후부터는 개선이 되어서,
저장된 차례대로 값이 나온다.
3.7 버전이전에는 이문제 때문에 collections 에 있는 OrderedDict 객체를 활용했다. 만약 3.7이전 버전의 파이썬을 활용하고 있다면 OrderedDict로 딕셔너리를 만들면 3.7버전 이후 파이썬처럼 값을 차례로 출력받을수 있다.
그런데 이런 경우가 아니더라도,
순서가 다른 두 객체를 다른것으로 인식해야 할 경우에도 OrderedDict을 활용하면 좋다.
OrderedDict은 값의 순서가 다른 딕셔너리를 같지 않다고 생각한다. 즉 저장순서를 고려한다.
OrderedDict 객체 메소드 중 move_to_end 메소드를 활용하면, 딕셔너리 키값을 인수로 받아 순서상 끝으로 값의 순서를 쉽게 변경할 수 있다.
이런식으로 활용하면 된다.
파이썬 머신러닝 판다스 데이터분석 chapter1 정리 (0) | 2022.11.19 |
---|---|
ipython3 소스파일 로드, 저장방법 (0) | 2022.07.26 |
[파이썬] 언패킹시 필요없는 값은 _ 로 처리 (0) | 2022.07.24 |
[파이썬] 딕셔너리도 컴프리헨션이 가능하다. (0) | 2022.07.22 |
[파이썬] yield from 문법 (python 3.3 이후 적용) (0) | 2022.07.22 |