파이썬(python)2025. 4. 5. 11:23

파이썬(python) 딕셔너리(dict)의 원소를 순차적으로 할당했을 경우, 파이썬 과거 버전을 사용할 경우 순서가 보존되지 않는다. 기준이 되는 버전은 3.6이다. 

파이썬 버전 3.7 이후부터는 원소를 순차적으로 할당하면 그 순서가 보존되나, 3.6 이전 버전에서는 순서를 보장하지 않는다. 예를 들어 아래의 코드를 실행할 경우, for 반복문에 의해 출력되는 원소의 순서가 버전 3.6 이하와 3.7 이상에서 다를 수 있다는 것이다. 버전 3.7 이상에서 순서가 보존된다. 

 

x = {}
x['a'] = 1
x['b'] = 2
x['c'] = 3

for key in x:
    print(key, ':', x[key])

 

만약 파이썬 버전이 3.6 이하인 환경에서 딕셔너리의 순서를 보장하고 싶다면 아래의 예시처럼 OrderedDict를 사용해야 한다. 

 

x = OrderedDict()
x['a'] = 1
x['b'] = 2
x['c'] = 3

for key in x:
    print(key, ':', x[key])
728x90
Posted by 반달가면