เมื่อจำเป็นต้องแสดงการเกิดขึ้นที่ใกล้ที่สุดระหว่างสององค์ประกอบในรายการ จะมีการกำหนดวิธีการที่ใช้พารามิเตอร์สามตัว ใช้ตัวดำเนินการ "ไม่อยู่ใน" และความเข้าใจรายการเพื่อกำหนดผลลัพธ์
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
ตัวอย่าง
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 ถูกกำหนดและแสดงบนคอนโซล
-
วิธีการนี้ถูกเรียกโดยการส่งผ่านพารามิเตอร์ที่จำเป็น
-
นี่คือเอาต์พุตที่แสดงบนคอนโซล