Python에서 사전을 순서대로 유지하는 방법(코드)

不言
풀어 주다: 2018-10-11 14:24:56
앞으로
3093명이 탐색했습니다.

이 기사에서는 Python이 사전을 순서대로 유지하는 방법(코드)에 대해 설명합니다. 이는 특정 참조 가치가 있으므로 도움이 필요한 친구가 참조할 수 있기를 바랍니다.

1. 요구 사항

우리는 사전을 생성하고 동시에 사전을 반복하거나 직렬화할 때 그 안에 있는 요소의 순서를 제어할 수도 있습니다.

2. 솔루션

사전의 요소 순서를 제어하려면 컬렉션 모듈에서 OrderedDict 클래스를 사용할 수 있습니다. 사전을 반복할 때 요소가 원래 추가된 순서대로 엄격하게 수행됩니다.

from collections import OrderedDict
d=OrderedDict()
d['a']=1
d['b']=2
d['c']=3
d['d']=4
#根据插入删除输出
for key in d:
print(key,d[key])
로그인 후 복사

결과:

a 1
b 2
c 3
d 4
로그인 후 복사

OrderedDict는 나중에 직렬화하거나 다른 형식으로 인코딩할 수 있는 매핑 구조를 구축하려는 경우 특히 유용합니다. 예: JSON을 인코딩할 때 각 필드의 순서를 정확하게 제어하려면 먼저 OrderedDict에서 데이터를 구성하기만 하면 됩니다.

from collections import OrderedDict
import json

d=OrderedDict()
d['a']=1
d['b']=2
d['c']=3
d['d']=4
j=json.dumps(d)
print(j)
로그인 후 복사

Result:

{"a": 1, "b": 2, "c": 3, "d": 4}
로그인 후 복사
OrderedDict는 내부적으로 다음을 기반으로 하는 이중 연결 목록을 유지합니다. 요소가 추가되는 순서로 키 위치를 정렬합니다. 새로 추가된 첫 번째 요소는 연결 리스트의 끝에 배치되며, 키 위치는 변경되지 않고 기존 키가 다시 할당됩니다.

참고: OrderedDict는 일반 사전 크기의 2배입니다. 이는 추가 연결 목록이 생성되기 때문입니다. 따라서 다수의 OrderedDict 인스턴스가 포함된 데이터 구조를 구축하려는 경우(예: CSV 파일에서 OrderedDict 목록으로 100,000개의 행 읽기) 애플리케이션의 요구 사항 분석을 수행하여 이점을 확인해야 합니다. OrderedDict를 사용하면 추가 메모리 오버헤드의 단점을 극복할 수 있나요?

위 내용은 Python에서 사전을 순서대로 유지하는 방법(코드)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!