내 질문은 두 목록을 함께 정렬하는 기본적인 것과 약간 다릅니다.
예를 들어 다음 코드를 참조하십시오.
list1=[3,4,2,1,6,1,4,9,3,5,8]
list2=['zombie','agatha','young','old','later','world',
'corona','nation','domain','issue','happy']
srt=sorted(list(zip(list1,list2)),reverse=True)
print(srt)
출력은 다음과 같습니다.
[(9, 'nation'), (8, 'happy'), (6, 'later'), (5, 'issue'),
(4, 'corona'), (4, 'agatha'), (3, 'zombie'), (3, 'domain'),
(2, 'young'), (1, 'world'), (1, 'old')]
질문 :-우리가 볼 수 있듯이 목록 1에서 동일한 값의 경우 내 목록 2의 요소도 내림차순으로 알파벳순으로 정렬됩니다. 목록 1을 내림차순으로 정렬하고 그 후에 목록 1의 요소 값이 동일한 오름차순으로 목록 2 요소를 정렬하려면 어떻게해야합니까?
주요 기능 사용 lambda k: (-k[0], k[1]))
:
list1 = [3, 4, 2, 1, 6, 1, 4, 9, 3, 5, 8]
list2 = ['zombie', 'agatha', 'young', 'old', 'later', 'world', 'corona', 'nation', 'domain', 'issue', 'happy']
srt = sorted(zip(list1, list2), key=lambda k: (-k[0], k[1]))
print(srt)
인쇄물:
[(9, 'nation'), (8, 'happy'), (6, 'later'), (5, 'issue'), (4, 'agatha'), (4, 'corona'), (3, 'domain'), (3, 'zombie'), (2, 'young'), (1, 'old'), (1, 'world')]
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다