목록의 두 요소 사이에 가장 가까운 항목을 표시해야 하는 경우 세 개의 매개변수를 사용하는 메소드가 정의됩니다. 'not in' 연산자와 목록 이해를 사용하여 결과를 결정합니다.
아래는 동일한 데모입니다 -
예시
def nearest_occurence_list(my_list, x, y): if x not in my_list or y not in my_list: return -1 x_index = [index for index in range(len(my_list)) if my_list[index] == x] y_index = my_list.index(y) min_dist = 1000000 result = None for element in x_index: if abs(element - y_index) < min_dist: result = element min_dist = abs(element - y_index) return result my_list = [12, 24, 15, 17, 28, 26, 13, 28, 14, 12, 20, 19, 24, 29, 14] print("The list is :") print(my_list) x = 14 print("The value of x is ") print(x) y = 26 print("The value of y is ") print(y) print("The result is :") print(nearest_occurence_list(my_list, x, y))
출력
The list is : [12, 24, 15, 17, 28, 26, 13, 28, 14, 12, 20, 19, 24, 29, 14] The value of x is 14 The value of y is 26 The result is : 8
설명
-
세 개의 매개변수를 사용하는 'nearest_occurence_list'라는 메서드가 정의되어 있습니다.
-
두 번째 또는 세 번째 매개변수가 첫 번째 매개변수에 없으면 -1이 반환됩니다.
-
목록 이해는 요소를 반복하고 목록에 첫 번째 매개변수가 포함된 경우 목록의 길이를 가져오는 데 사용됩니다.
-
이것은 변수 1에 할당됩니다.
-
두 번째 매개변수의 인덱스가 결정됩니다.
-
변수 1의 요소는 반복되고 y의 요소와 인덱스의 차이는 특정 값과 비교됩니다.
-
이에 따라 결과가 반환됩니다.
-
메소드 외부에서 목록이 정의되고 콘솔에 표시됩니다.
-
x 및 y 값이 정의되어 콘솔에 표시됩니다.
-
메소드는 필수 매개변수를 전달하여 호출됩니다.
-
콘솔에 표시되는 출력입니다.