파이썬 딕셔너리(dict)에서 키(key) 순서 보존(OrderedDict)

파이썬의 딕셔너리(dict) 형식 데이터는 기본적으로 키(key)의 순서는 보존하지 않습니다. 만약 키를 지정한 순서를 보존하고 싶다면 collections 모듈에서 제공하는 OrderedDict를 사용할 수 있습니다.

사실 파이썬 버전 3.7 이후부터는 일반적으로 그냥 딕셔너리를 사용해도 키의 순서는 처음에 생성된 그 순서대로 유지가 되므로, 굳이 OrderedDict를 사용할 필요는 없습니다. 그러나 만약 하위 버전과의 호환성이 필요한데 딕셔너리 키의 순서를 보존하고자 한다면 OrderedDict를 사용하는 것이 좋겠습니다.

기본적인 사용은 딕셔너리와 유사합니다.

from collections import OrderedDict

# 일반 딕셔너리
x = {}
x['a'] = 1
x['b'] = 2

# OrderedDict
y = OrderedDict()
y['a'] = 1
y['b'] = 2

선언하면서 초기화할 때는 차이가 있습니다. OrderedDict의 경우 아래의 예시처럼 리스트(list)가 인자로 들어갑니다.

# 딕셔너리
x = {'a':1,'b':2}

# OrderedDict
y = OrderedDict([('a',1),('b',2)])

@joviansummer의 스팀 프로젝트

스팀 증인노드를 운영중입니다. @jswit에 증인투표해 주시면 감사하겠습니다.
(https://steemitwallet.com/~witnesses)

jswit 증인 노드 프로젝트를 시작합니다.

jsup 업보팅(upvoting) 서비스 소개

jsup 수혜자 지정 기능 추가

jsup 서비스에 큐레이션 보상 분배 기능이 추가되었습니다.

jSTEEM 프로젝트 - 텔레그램 챗봇으로 구현하는 스팀 블럭체인 탐색기

STEEM.NFT - 디지털 아트 보존 프로젝트


Posted through the AVLE Dapp (https://avle.io)

Sort:  

Hello friend!
I'm @steem.history, who is steem witness.
Thank you for witnessvoting for me.
image.png
please click it!
image.png
(Go to https://steemit.com/~witnesses and type fbslo at the bottom of the page)

Upvoted! Thank you for supporting witness @jswit.

Coin Marketplace

STEEM 0.04
TRX 0.32
JST 0.082
BTC 61643.21
ETH 1637.63
USDT 1.00
SBD 0.41