데이터 구조에서 요소의 인덱스 순위를 결정해야 하는 경우 목록을 매개변수로 사용하는 메서드가 정의됩니다. 목록의 요소를 반복하고 두 변수의 값을 변경하기 전에 특정 비교를 수행합니다.
예시
아래는 동일한 데모입니다.
def find_rank_elem(my_list): my_result = [0 for x in range(len(my_list))] for elem in range(len(my_list)): (r, s) = (1, 1) for j in range(len(my_list)): if j != elem and my_list[j] < my_list[elem]: r += 1 if j != elem and my_list[j] == my_list[elem]: s += 1 my_result[elem] = r + (s - 1) / 2 return my_result my_list = [1, 3, 5, 3, 1, 26, 99, 45, 67, 12] print("The list is :") print(my_list) print("The resultant list is :") print(find_rank_elem(my_list))
출력
The list is : [1, 3, 5, 3, 1, 26, 99, 45, 67, 12] The resultant list is : [1, 3, 5, 3, 1, 7, 10, 8, 9, 6]
설명
-
목록을 매개변수로 사용하는 'find_rank_elem'이라는 메서드가 정의되어 있습니다.
-
목록은 반복되어 목록 변수에 저장됩니다.
-
다시 반복되고 목록의 특정 요소가 일치하는지 확인합니다.
-
하면 'r'과 's'의 두 값이 변경됩니다.
-
이 목록은 출력으로 반환됩니다.
-
메소드 외부에서 목록이 정의되고 콘솔에 표시됩니다.
-
이 목록을 매개변수로 전달하여 메서드를 호출합니다.
-
출력은 콘솔에 표시됩니다.