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。

  • 列表推導式用於迭代元素,如果列表包含第一個引數,則獲取列表的長度。

  • 這被賦值給變數 one。

  • 確定第二個引數的索引。

  • 迭代變數 one 中的元素,並將元素與 y 的索引之間的差與特定值進行比較。

  • 根據此,返回結果。

  • 在方法外部,定義一個列表並在控制檯中顯示。

  • 定義 x 和 y 的值並在控制檯中顯示。

  • 透過傳遞所需引數來呼叫該方法。

  • 這是在控制檯中顯示的輸出。

更新於:2021年9月8日

224 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始
廣告
© . All rights reserved.