파이썬 사전의 값에서 이기종 튜플의 여러 키 정렬

VimalK

입력:

{'Thiem': (3, 0, 10, 104, 11, 106), 
 'Medvedev': (1, 2, 11, 106, 10, 104), 
 'Barty': (0, 2, 8, 74, 9, 76), 
 'Osaka': (0, 4, 9, 76, 8, 74)}

예상 출력은 값 튜플의 속성 순서로 Dict 값을 기준으로 정렬되어야합니다. 마찬가지로 첫 번째 필드 값 (desc)에서 일치하는 경우 두 번째 값 (desc)에서 4 번째 필드 (desc)까지, 그리고 5 번째 및 6 번째 필드에서 오름차순. 몇 가지 방법으로 sorted () 메서드를 사용해 보았습니다.

산출:

Thiem 3 0 10 104 11 106
Medvedev 1 2 11 106 10 104
Osaka 0 4 9 76 8 74
Barty 0 2 8 74 9 76

친절하게 도움을 주거나 접근 방법을 제안하십시오.

편집 : 더 명확하게 설명을 업데이트했습니다. 아래는 내가 시도한 코드입니다.

>>> results=[]
>>> for (k,v) in d.items():
    results.append(v)
>>> results.sort(key= lambda x: (x[4],x[5]))
>>> results.sort(key= lambda x: (x[0],x[1],x[2],x[3]), reverse=True)
오마르 알수와 이디

나는 당신이 모든 튜플의 첫 번째 숫자 (요소)를 서로 비교하려고 시도하고 있으며 가장 큰 숫자를 가진 키가 맨 위에 있어야한다고 믿습니다 (0 인덱스). 숫자가 같을 경우; 대신 모든 튜플의 두 번째 숫자를 비교하는 식으로 해당 튜플의 최종 요소에 도달 할 때까지 계속됩니다. 그렇다면 :

def dic_sort(dic):
    for r in range(1, len(dic)):
        i = 0
        values = list(dic.values())
        while values[r - 1][i] == values[r][i]:
            i += 1
            if values[r - 1][i] < values[r][i]:
                key_swap(dic, values[r - 1], values[r])

        if values[r - 1][i] < values[r][i]:
            key_swap(dic, values[r - 1], values[r])

    return dic


def key_swap(dic, v1, v2):
    keys = list(dic.keys())
    values = list(dic.values())
    temp_key = keys[values.index(v1)]
    dic[keys[values.index(v2)]] = dic.pop(temp_key)
    dic[keys[values.index(v2)]] = v2
    dic[temp_key] = v1


for i in range(15):  # Number of iterations depends on the complexity of your dictionary
    dic_sorted(test)
print(test)

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

파이썬에서 사전의 여러 키에서 특정 값의 고유 이름 가져 오기

분류에서Dev

여러 사전의 서로 다른 키에 저장된 문자열로 파이썬 튜플 채우기

분류에서Dev

파이썬에서 사전의 키로서의 튜플 목록

분류에서Dev

파이썬 사전의 키에 여러 값 추가

분류에서Dev

키 찾기 / 사전의 키에 여러 값 추가 문제 (파이썬)

분류에서Dev

파이썬에서 튜플 목록의 다단계 정렬

분류에서Dev

값으로 파이썬에서 여러 사전 정렬

분류에서Dev

두 개의 키로 파이썬에서 사전 정렬하기 (빈도 및 사전)

분류에서Dev

파이썬에서 정렬 된 사전 유형의 값 플로팅

분류에서Dev

사전 파이썬에서 키, 값 쌍의 값 변경

분류에서Dev

두 개의 키로 파이썬 사전 정렬

분류에서Dev

'itemgetter'를 사용하여 사전의 튜플에서 성, 이름을 정렬 하시겠습니까?

분류에서Dev

파이썬에서 사전의 값에 키 일치

분류에서Dev

여러 키 / 값을 기준으로 사전 목록을 정렬합니다. 여기서 값의 순서는 구체적이어야합니다.

분류에서Dev

파이썬에서 튜플 정렬

분류에서Dev

파이썬에서 여러 값이있는 dict 키에서 하나의 값을 반환

분류에서Dev

파이썬에서 튜플 값을 키로 사용하는 모든 작업에서 사전의 시간 복잡성은 무엇입니까?

분류에서Dev

파이썬에서 사전의 다단계 정렬

분류에서Dev

파이썬에서 파일의 여러 값 바꾸기

분류에서Dev

파이썬에서 다른 사전 키의 일치를 기반으로 사전의 키 값 목록을 수정하는 방법은 무엇입니까?

분류에서Dev

Python을 사용하여 사전 값의 튜플 목록에서 항목 정렬

분류에서Dev

사전 파이썬의 실제 값으로 정렬

분류에서Dev

파이썬 튜플의 특정 항목에 액세스

분류에서Dev

파이썬에서 텍스트 파일의 값 정렬

분류에서Dev

파이썬의 다른 사전에서 공통 키 얻기

분류에서Dev

파이썬에서 키를 사용하여 목록을 정렬하는 방법

분류에서Dev

파이썬에서 정규식 일치의 고유 값 정렬

분류에서Dev

Python : 중첩 된 목록의 여러 값을 사용하여 튜플 키에서 dict 만들기

분류에서Dev

파이썬의 사전 객체 목록에서 특정 키를 찾는 방법

Related 관련 기사

  1. 1

    파이썬에서 사전의 여러 키에서 특정 값의 고유 이름 가져 오기

  2. 2

    여러 사전의 서로 다른 키에 저장된 문자열로 파이썬 튜플 채우기

  3. 3

    파이썬에서 사전의 키로서의 튜플 목록

  4. 4

    파이썬 사전의 키에 여러 값 추가

  5. 5

    키 찾기 / 사전의 키에 여러 값 추가 문제 (파이썬)

  6. 6

    파이썬에서 튜플 목록의 다단계 정렬

  7. 7

    값으로 파이썬에서 여러 사전 정렬

  8. 8

    두 개의 키로 파이썬에서 사전 정렬하기 (빈도 및 사전)

  9. 9

    파이썬에서 정렬 된 사전 유형의 값 플로팅

  10. 10

    사전 파이썬에서 키, 값 쌍의 값 변경

  11. 11

    두 개의 키로 파이썬 사전 정렬

  12. 12

    'itemgetter'를 사용하여 사전의 튜플에서 성, 이름을 정렬 하시겠습니까?

  13. 13

    파이썬에서 사전의 값에 키 일치

  14. 14

    여러 키 / 값을 기준으로 사전 목록을 정렬합니다. 여기서 값의 순서는 구체적이어야합니다.

  15. 15

    파이썬에서 튜플 정렬

  16. 16

    파이썬에서 여러 값이있는 dict 키에서 하나의 값을 반환

  17. 17

    파이썬에서 튜플 값을 키로 사용하는 모든 작업에서 사전의 시간 복잡성은 무엇입니까?

  18. 18

    파이썬에서 사전의 다단계 정렬

  19. 19

    파이썬에서 파일의 여러 값 바꾸기

  20. 20

    파이썬에서 다른 사전 키의 일치를 기반으로 사전의 키 값 목록을 수정하는 방법은 무엇입니까?

  21. 21

    Python을 사용하여 사전 값의 튜플 목록에서 항목 정렬

  22. 22

    사전 파이썬의 실제 값으로 정렬

  23. 23

    파이썬 튜플의 특정 항목에 액세스

  24. 24

    파이썬에서 텍스트 파일의 값 정렬

  25. 25

    파이썬의 다른 사전에서 공통 키 얻기

  26. 26

    파이썬에서 키를 사용하여 목록을 정렬하는 방법

  27. 27

    파이썬에서 정규식 일치의 고유 값 정렬

  28. 28

    Python : 중첩 된 목록의 여러 값을 사용하여 튜플 키에서 dict 만들기

  29. 29

    파이썬의 사전 객체 목록에서 특정 키를 찾는 방법

뜨겁다태그

보관