두 번째 목록의 도움으로 첫 번째 목록의 값을 정렬해야 하는 경우 'sorted' 방법과 'zip' 방법을 사용합니다.
목록은 이기종 값(즉, 정수, 부동 소수점, 문자열 등과 같은 모든 데이터 유형의 데이터)을 저장하는 데 사용할 수 있습니다.
'sorted' 방법은 목록의 요소를 정렬하는 데 사용됩니다.
zip 메서드는 iterable을 가져와 튜플로 집계하고 결과로 반환합니다.
아래는 동일한 데모입니다 -
예시
def list_sort(my_list_1, my_list_2): zipped_list_pairs = zip(my_list_2, my_list_1) my_result = [x for _, x in sorted(zipped_list_pairs)] return my_result my_list_1 = ['m', 'o', 'p', 'l', 'k', 'v', 'c', 'e', 'r'] my_list_2 = [ 1, 0,0, 2, 2, 1, 1, 0,0] print("The first list is :") print(my_list_1) print("The second list is :") print(my_list_2) print("The first list is being sorted based on second list") print(list_sort(my_list_1, my_list_2)) my_list_3 = ['h', 'k', 'l', 'p', 'q', 'p', 'k', 'l', 'h', 'm', 'u', 'z', 'f', 't'] my_list_4 = [ 0,1,1,1,0,2,2,2,0,2,1,2,1,0] print("The third list is :") print(my_list_3) print("The fourth list is :") print(my_list_4) print("The third list is being sorted based on fourth list") print(list_sort(my_list_3, my_list_4))
출력
The first list is : ['m', 'o', 'p', 'l', 'k', 'v', 'c', 'e', 'r'] The second list is : [1, 0, 0, 2, 2, 1, 1, 0, 0] The first list is being sorted based on second list ['e', 'o', 'p', 'r', 'c', 'm', 'v', 'k', 'l'] The third list is : ['h', 'k', 'l', 'p', 'q', 'p', 'k', 'l', 'h', 'm', 'u', 'z', 'f', 't'] The fourth list is : [0, 1, 1, 1, 0, 2, 2, 2, 0, 2, 1, 2, 1, 0] The third list is being sorted based on fourth list ['h', 'h', 'q', 't', 'f', 'k', 'l', 'p', 'u', 'k', 'l', 'm', 'p', 'z']
설명
- 두 개의 목록을 매개변수로 사용하는 'list_sort'라는 메서드가 정의되어 있습니다.
- 두 목록을 압축하여 다른 변수에 저장합니다.
- 이것은 반복되고 정렬되어 다른 변수에 할당됩니다.
- 결과로 콘솔에 표시됩니다.
- 두 개의 목록이 정의되어 콘솔에 표시됩니다.
- 이 목록에서 메서드가 호출됩니다.
- 그런 다음 콘솔에 출력으로 표시됩니다.