목록의 두 요소 사이에 가장 가까운 항목을 표시해야 하는 경우 세 개의 매개변수를 사용하는 메소드가 정의됩니다. '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 값이 정의되어 콘솔에 표시됩니다.
-
메소드는 필수 매개변수를 전달하여 호출됩니다.
-
콘솔에 표시되는 출력입니다.