Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python – 범위 포함으로 정렬

<시간/>

범위를 기준으로 목록을 정렬해야 하는 경우 함수를 사용하여 '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'에 대한 값이 정의됩니다.

  • 이전에 정의한 메소드를 매개변수로 전달하여 정렬 메소드를 사용하여 목록을 정렬합니다.

  • 출력은 콘솔에 표시됩니다.