홈>
내가 가진 사전은 여기있다
propertyList = {
"id": "int",
"name": "char(40)",
"team": "int",
"realOwner": "int",
"x": "int",
"y": "int",
"description": "char(255)",
"port": "bool",
"secret": "bool",
"dead": "bool",
"nomadic": "bool",
"population": "int",
"slaves": "int",
}
그러나 "\ n".join (myDict)으로 출력하면 이것을 얻을 수 있습니다
name
nomadic
dead
port
realOwner
secret
slaves
team
y
x
population
id
description
사전이 정렬되지 않은 것을 알고 있지만 매번 동일하게 나오며 이유를 모르겠습니다.
- 답변 # 1
- 답변 # 2
내장 사전 유형의 스펙 순서를 보존하지 않으면 사전을 정렬되지 않은
key: value
세트로 생각하는 것이 가장 좋습니다. 쌍 ...OrderedDict
를 확인하고 싶을 수도 있습니다 키 삽입 순서를 사용하여 정렬 된 사전을 구현하는 모듈입니다. - 답변 # 3
사전 정렬에 대한 유일한 것은 사전을 수정하지 않으면 순서가 동일하게 유지된다는 것입니다. 예를 들어 사전을 수정하지 않고 두 번 반복하면 동일한 키 시퀀스가 생성됩니다. 그러나 파이썬 사전의 순서는 결정 론적이지만 삽입 및 제거 순서와 같은 요소의 영향을받을 수 있으므로 동일한 사전은 다른 순서로 끝날 수 있습니다.
>>> {1: 0, 2: 0}, {2: 0, 1: 0} ({1: 0, 2: 0}, {1: 0, 2: 0}) >>> {1: 0, 9: 0}, {9: 0, 1: 0} ({1: 0, 9: 0}, {9: 0, 1: 0})
관련 자료
- Python으로 사전 주문
- for loop - 파이썬에서 사전을 반복 할 때 나머지 항목을 얻는 방법은 무엇입니까?
- 목록 파이썬 내부의 사전에서 키 교체
- Python (BeautifulSoup)을 사용하여 사전 및 웹 스크래핑 작업
- numpy를 사용하여 Python의 사전을 문자열에서 0으로 채워진 배열로 변환하는 방법은 무엇입니까?
- 파이썬을 사용하여 클래스 구성원별로 사전 정렬
- Declare a Dictionary in a Class - 클래스에서 사전 선언 - 파이썬
- 일반 키와 Callable [T] 값이있는 Python 사전
- 사전에 목록의 Python 목록
- python 사전 - dict의 모든 키에 대한 목록을 만들고 dict의 모든 값에 대해 다른 목록을 만듭니다
- 파이썬 사전 재조합
- 사전을 통해 반복되는 Python
- string - Python에서 사전에 대한 조인 작업
- list - Python 사전 해결
- pandas - 반복하는 동안 Python 사전에 항목 추가
- Python 사전에 목록 결합
- 파이썬 - 왜이 반환 된 사전을 인쇄 할 수 없습니까?
- Python에서 대체 사전 만들기
- 동일한 사전이 계속 사용되는 경우 Python 사전 데이터가 업데이트되지 않습니다
- api - format ()을 파이썬 사전으로
관련 질문
- python : 한 조건으로 사전에 새 키를 추가하는 루프를 작성하고 싶습니다. 구매 수는>= 3이어야합니다.
- python : 특정 파이썬 사전을 파일로 만드는 방법
- python : Reversion Morse code를 사용하여 영어 프로그램에 Morse Chainers 간의 사전 공간 포맷팅
- python : 이 메소드 (PD.DataFrame)를 사용하여 두 개의 열을 만들려면 두 개의 열을 만듭니다.
- python : 파이썬 : JSON /Dictionary에서 CSV 만들기
- python : 모든 중첩 된 사전 값을 얻으려면이 code를 A에 대해 변경하는 방법이 있습니까?
- python : 사전에서 파이썬에서 사전에서 정수로 중첩 된 값을 둥글게하고 변환하는 방법은 무엇입니까?
- python : 아무도 파이썬 사전의 값이 없습니다
- python : 목록 및 튜플 비교 목록의 사전
- Python 큰 데이터를 매핑하기위한 메모리 사전을 공유했습니다
이전 버전의 Python의 경우 실제 질문은"왜 그렇지 않습니까?"— 일반적으로 정렬되지 않은 사전은 요소 순서가 잘 정의되어 있지만 즉시 명확하지 않은 해시 테이블로 구현됩니다 (Python 문서는 상태를 나타내는 데 사용됨) 이). 관찰 결과는 해시 테이블의 규칙과 완벽하게 일치합니다. 명백한 임의적이지만 일정한 순서입니다.
파이썬은
dict
를 변경했습니다. 삽입 순서를 유지하기위한 구현이며, 이것은 파이썬 3.7부터보장됩니다. 따라서 구현은 더 이상 순수한 해시 테이블을 구성하지 않습니다 (그러나 구현시 해시 테이블은 여전히 사용됩니다).