실제 사례 :
제목을 완료 플레이어 후 프로그래밍 경쟁 시스템, 타이밍 프로그래밍 참가자의 붕괴는,이 때 붕괴 사전을 사용하는 플레이어를 기록, 그래서 쿼리 결과의 이름으로 경기 후 선수
{ 'Lilei':( 2,43), 'HanMei':( 5,52), '짐':( 1,39) ...}
경기 후 조정이 인쇄 된 선수 점수 순서, 방법을 달성하기에 순위가된다?
에서 컬렉션을 가져 오기 OrderedDict #의 셔플 셔플 기능, 주문 목록이 중단 될 수 있습니다 에서 임의 가져 오기 셔플 '' ' OrderedDict의 표준 라이브러리 모음을 사용 DICT는, 차례로, 플레이어가 OrderedDict에 점수를 대체 사전을 OrderedDict하는 ' '' 플레이 어스 = 목록 ( " ABCDEFGH " ) 셔플 (플레이어) 전단 (플레이어) # [ 'C', 'B', 'D', 'A', 'F', 'E', 'H', 'G'] OD = OrderedDict () # 간단한 시뮬레이션을 위해 순위를 위한 I, P- 형 의 열거합니다 (플레이어 1 ) 여기서 P] = 및 프린트(OD) #에 OrderedDict ([( 'B',. 1, 'A', 2), ( 'F',. 3), ( 'C',. 4, 'D',. 5), ( 'G '6). ('H ', 7). ('E '를, 8)). #의 기록 인터페이스 - 조회 결과의 이름 DEF의 query_by_name (D 이름) # 키에 따른 - 값 리턴 D [이름] # 테스트 - 키 값 - 즉, 이름 아래 - 촬영 결과 인쇄 (query_by_name (OD, ' C ' )) 프린트 (query_by_name (OD, ' B는 ' )) '' ' 쿼리의 이름, 또는 영역에있어서, 상기 질의 - 순서에 따라 이름 ITER (OD)를 인덱싱과 슬라이싱 작업을 지원하지 않습니다 반복 도구 itertoools에서, islice 슬라이스의 도입 '' ' 에서 itertools 수입 islice의 #islice 작동 : 순차 반복 객체의 이전 반복 #의 예 - 0 반복 시작 폐기 범위 밖의 값 isTest = islice (범위 (10) ,. 3 ,. 6 ) 전단 (목록 (isTest)) #의 [3 ,. 4. . 5] isOd = islice (OD ,. 3 ,. 6 ) 전단 (목록 (isOd)) # [ 'E', 'H', 'A'] # 순위 값 조회 키 키 DEF의 query_by_order (D, A, B = 없음) : . - = 1 # 당신은 단지 데이터 쿼리를 원하는 경우 경우 B는 제공되지 않습니다 없음 : #의 .. B + A = 1 만 (A, A +에 액세스 할 수있는 설명 1) . B는 + 1 개 = 반환 목록 (islice을 ( OD, A, B)) #의 시험 인쇄 (query_by_order (OD ,. 4 )) 프린트 (query_by_order (OD, 3, 6 )) # [ 'g'] # [ 'C', 'G', 'F', 'E']
상술 한 문제 해결 방안을 python3.5를 기반으로
python3.6, 내장 사전 DICT 동작은 OrderedDict과 일치하고있다, 당신은 DICT를 사용할 수 있습니다
그러나 코드 호환하기 위해, OrderedDict 기능을 사용하는 것이 좋습니다.