범위를 기준으로 목록을 정렬해야 하는 경우 함수를 사용하여 'abs' 방법, 'sum' 방법 및 목록 이해를 사용합니다.
아래는 동일한 데모입니다 -
예시
def sum_range_incl(my_row): return sum([abs(element [1] - element [0]) for element in my_row if element [0] > i and element [0] < j and element [1] > i and element [1] < j]) my_list = [[(12, 4), (55, 10), (11, 16)], [(42, 14)], [(2, 5), (2, 28), (9, 16)], [(12, 6), (6, 13)]] print("The list is :") print(my_list) i, j = 2, 15 my_list.sort(key=sum_range_incl) print("The resultant list is :") print(my_list)
출력
The list is : [[(12, 4), (55, 10), (11, 16)], [(42, 14)], [(2, 5), (2, 28), (9, 16)], [(12, 6), (6, 13)]] The resultant list is : [[(42, 14)], [(2, 5), (2, 28), (9, 16)], [(12, 4), (55, 10), (11, 16)], [(12, 6), (6, 13)]]
설명
-
튜플 목록을 매개변수로 사용하는 'sum_range_incl'이라는 메서드가 정의되어 있습니다.
-
목록은 목록 이해를 사용하여 반복됩니다.
-
첫 번째 요소와 0번째 요소의 절대 차이는 목록의 모든 요소에 대해 결정되고 0번째 요소는 특정 정수와 비교됩니다.
-
이 값의 합은 함수의 출력으로 반환됩니다.
-
튜플 목록이 정의되어 콘솔에 표시됩니다.
-
두 정수 'I'와 'j'에 대한 값이 정의됩니다.
-
이전에 정의한 메소드를 매개변수로 전달하여 정렬 메소드를 사용하여 목록을 정렬합니다.
-
출력은 콘솔에 표시됩니다.