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

Python – 목록의 두 요소 사이에 가장 가까운 발생

<시간/>

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

  • 메소드는 필수 매개변수를 전달하여 호출됩니다.

  • 콘솔에 표시되는 출력입니다.