두 개의 목록(문자열을 포함하는 X와 정수를 포함하는 Y)이 주어지면 다음 목록의 해당 값에 따라 X를 정렬하려고 합니다. Y는 동일한 "키" 값을 가진 요소의 원래 순서를 유지합니다. Python의 내장 함수를 사용하여 다음과 같은 최적화된 솔루션을 살펴보세요.
[x for _, x in sorted(zip(Y, X))]
예:
X = ["a", "b", "c", "d", "e", "f", "g", "h", "i"] Y = [ 0, 1, 1, 0, 1, 2, 2, 0, 1] Z = [x for _,x in sorted(zip(Y,X))] print(Z) # ["a", "d", "h", "b", "c", "e", "i", "f", "g"]
설명:
추가 설명:
sorted() 함수를 사용하면 정렬 기준을 결정하는 주요 함수를 지정할 수 있습니다. 이 경우 key=lambda pair: pair[0]을 사용하여 첫 번째 요소를 기준으로 튜플을 정렬합니다. 이는 Y의 해당 값을 기준으로 X를 효과적으로 정렬합니다.
위 내용은 다른 목록의 해당 정수 값을 기준으로 문자열 목록을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!