Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python – การเกิดขึ้นที่ใกล้ที่สุดระหว่างสององค์ประกอบใน List


เมื่อจำเป็นต้องแสดงการเกิดขึ้นที่ใกล้ที่สุดระหว่างสององค์ประกอบในรายการ จะมีการกำหนดวิธีการที่ใช้พารามิเตอร์สามตัว ใช้ตัวดำเนินการ "ไม่อยู่ใน" และความเข้าใจรายการเพื่อกำหนดผลลัพธ์

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -

ตัวอย่าง

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

  • ความเข้าใจรายการใช้เพื่อวนซ้ำองค์ประกอบและรับความยาวของรายการหากรายการมีพารามิเตอร์ตัวแรก

  • สิ่งนี้ถูกกำหนดให้กับตัวแปรหนึ่ง

  • ดัชนีของพารามิเตอร์ที่สองถูกกำหนดแล้ว

  • องค์ประกอบภายในตัวแปรที่หนึ่งจะถูกทำซ้ำ และความแตกต่างระหว่างองค์ประกอบและดัชนีของ y จะถูกเปรียบเทียบกับค่าเฉพาะ

  • ขึ้นอยู่กับสิ่งนี้ ผลลัพธ์จะถูกส่งคืน

  • นอกเมธอด รายการถูกกำหนดและแสดงบนคอนโซล

  • ค่าสำหรับ x และ y ถูกกำหนดและแสดงบนคอนโซล

  • วิธีการนี้ถูกเรียกโดยการส่งผ่านพารามิเตอร์ที่จำเป็น

  • นี่คือเอาต์พุตที่แสดงบนคอนโซล