이전 요소보다 많은 요소의 개수를 기준으로 행렬을 정렬해야 하는 경우 함수를 사용하여 목록 이해와 'len' 메서드를 사용합니다.
아래는 동일한 데모입니다 -
예시
def fetch_greater_freq(row): return len([row[idx] for idx in range(0, len(row) - 1) if row[idx] < row[idx + 1]]) my_list = [[11, 3, 25, 99, 10], [5, 3, 25, 4], [77, 11, 5, 3, 77, 77], [11, 3, 25]] print("The list is :") print(my_list) my_list.sort(key=fetch_greater_freq) print("The resultant list is :") print(my_list)
출력
The list is : [[11, 3, 25, 99, 10], [5, 3, 25, 4], [77, 11, 5, 3, 77, 77], [11, 3, 25]] The resultant list is : [[5, 3, 25, 4], [77, 11, 5, 3, 77, 77], [11, 3, 25], [11, 3, 25, 99, 10]]
설명
-
목록을 매개변수로 사용하는 'fetch_greater_freq'라는 메서드가 정의되어 있습니다.
-
목록이 반복되고 특정 요소에 액세스하여 연속 요소보다 작은지 확인합니다.
-
길이는 메서드의 출력으로 반환됩니다.
-
메소드 외부에 정수 목록이 정의되어 콘솔에 표시됩니다.
-
이전에 정의한 메소드를 매개변수로 전달하여 정렬 메소드를 사용하여 목록을 정렬합니다.
-
출력은 콘솔에 표시됩니다.