절대차의 빈도로 튜플을 정렬해야 하는 경우 람다 함수, 'abs' 방법 및 'sorted' 방법이 사용됩니다.
예
아래는 동일한 데모입니다.
my_list = [(11, 26), (21, 33), (90, 11), (26, 21), (32, 18), (25, 37)] print("The list is :") print(my_list) my_diff_list = [abs(x - y) for x, y in my_list] my_result = sorted(my_list, key = lambda sub: my_diff_list.count(abs(sub[0] - sub[1]))) print("The resultant list is :") print(my_result)
출력
The list is : [(11, 26), (21, 33), (90, 11), (26, 21), (32, 18), (25, 37)] The resultant list is : [(11, 26), (90, 11), (26, 21), (32, 18), (21, 33), (25, 37)]
설명
-
튜플 목록이 정의되어 콘솔에 표시됩니다.
-
목록 이해는 목록을 반복하고 연속 요소 간의 절대 차이를 얻는 데 사용됩니다.
-
리스트로 변환되어 변수에 저장됩니다.
-
리스트의 요소에 대해 다시 'sorted' 방식을 사용하며, 키는 'lambda'로 지정하고 연속된 요소 간의 절대 차이의 개수를 결정합니다.
-
이것은 변수에 할당되고 콘솔에 표시됩니다.