홈>
내가 가진 사전은 여기있다
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 : 다차원 사전 이해(파이썬)
- python : 누락된 잔액 번호 반환
- python : 파이썬에서 클래스 메서드를 호출할 수 없습니다.
- python : 인코딩 중 해시 유형 오류 없이 사전을 되돌릴 수 없습니다.
- python : 목록 및 사전의 이 기능을 이해할 수 없습니다.
- python : 모든 사전 및 변수 인쇄 [중복]
- Pandas를 사용하지 않고 Python에서 행별로 CSV 파일을 편집하는 방법
- python : 람다 함수를 사용하여 사전에 액세스하고 새 사전으로 재정렬
- python : 서로 다른 수준의 두 목록이 있는 중첩 JSON 파일 분해
- 사전(python, dict, 여러 플롯)에서 여러 dfs를 사용하여 루프에서 특정 수의 플롯을 플롯합니다.
이전 버전의 Python의 경우 실제 질문은"왜 그렇지 않습니까?"— 일반적으로 정렬되지 않은 사전은 요소 순서가 잘 정의되어 있지만 즉시 명확하지 않은 해시 테이블로 구현됩니다 (Python 문서는 상태를 나타내는 데 사용됨) 이). 관찰 결과는 해시 테이블의 규칙과 완벽하게 일치합니다. 명백한 임의적이지만 일정한 순서입니다.
파이썬은
dict
를 변경했습니다. 삽입 순서를 유지하기위한 구현이며, 이것은 파이썬 3.7부터보장됩니다. 따라서 구현은 더 이상 순수한 해시 테이블을 구성하지 않습니다 (그러나 구현시 해시 테이블은 여전히 사용됩니다).