Computer >> Máy Tính >  >> Lập trình >> Python

Python - Lần xuất hiện gần nhất giữa hai phần tử trong một danh sách

Khi được yêu cầu hiển thị lần xuất hiện gần nhất giữa hai phần tử trong danh sách, một phương thức được xác định có ba tham số. Nó sử dụng toán tử "not in" và khả năng hiểu danh sách để xác định kết quả.

Dưới đây là một minh chứng về điều tương tự -

Ví dụ

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))

Đầu ra

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

Giải thích

  • Một phương thức có tên là ‘near_occurence_list’ được xác định có ba tham số.

  • Nếu tham số thứ hai hoặc thứ ba không có trong tham số đầu tiên, thì -1 được trả về.

  • Khả năng hiểu danh sách được sử dụng để lặp lại các phần tử và lấy độ dài của danh sách nếu danh sách chứa tham số đầu tiên.

  • Điều này được chỉ định cho biến một.

  • Chỉ số của tham số thứ hai được xác định.

  • Các phần tử trong biến một được lặp lại và sự khác biệt giữa phần tử và chỉ số của y được so sánh với một giá trị cụ thể.

  • Tùy thuộc vào điều này, kết quả được trả về.

  • Bên ngoài phương thức, một danh sách được xác định và hiển thị trên bảng điều khiển.

  • Các giá trị cho x và y được xác định và hiển thị trên bảng điều khiển.

  • Phương thức này được gọi bằng cách chuyển các tham số bắt buộc.

  • Đây là đầu ra được hiển thị trên bảng điều khiển.