Dictionary도 순서가 있나요?
dic = {}
for i in range(26, 0, -1):
j = str(i)
if i>=10:
j += '#'
dic[j] = chr(i+96)
for i,j in dic.items():
print(i, j)
숫자(+#)를 알파벳으로 바꾸는 프로그램을 짜는 문제를 풀고 있다가, Dictionary 자료형과 관련하여 실험을 좀 해봤습니다.
range()부분을 (1, 27)로 하느냐에 따라, (26, 0, -1)로 하느냐에 따라 제일 밑줄의 print(i,j) 출력 순서가 달라졌습니다.
dic.items()를 for i, j로 돌렸을 때는, '먼저 대입된 순서대로' i,j에 할당된다는 결론이 나왔는데, 맞는 건가요?
혹시 Dictionary의 순서에 대해 더 알고 계신게 있으시면 공유해 주시면 감사하겠습니다.
유정후 님 382
2022년 8월 27일 10:51 오후
1개의 답변이 있습니다. 1 / 1 Page
Python 3.7부터, dictionary는 ordered 속성을 가집니다.
Python 2 ~ Python 3.6까지는 ordered를 보장하지 않습니다.
Python 2 ~ Python3.6에서 ordered 속성을 가진 dictionary type을 standard library로 제공합니다. collections.OrderedDict
TAO 님
M 2022년 9월 1일 11:31 오전