เมื่อจำเป็นต้องกรองแถวด้วยผลรวมคู่เฉพาะ จะมีการกำหนดวิธีการ จะตรวจสอบเพื่อดูว่าองค์ประกอบในดัชนีที่ระบุมีค่าเท่ากับคีย์หรือไม่ และส่งคืนผลลัพธ์ตามสิ่งนี้
ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -
ตัวอย่าง
def find_sum_pair(val, key): for index in range(len(val)): for ix in range(index + 1, len(val)): if val[index] + val[ix] == key: return True return False my_list = [[71, 5, 21, 6], [34, 21, 2, 71], [21, 2, 34, 5], [6, 9, 21, 42]] print("The list is :") print(my_list) my_key = 76 print("The key is ") print(my_key) my_result = [element for element in my_list if find_sum_pair(element, my_key)] print("The resultant list is :") print(my_result)
ผลลัพธ์
The list is : [[71, 5, 21, 6], [34, 21, 2, 71], [21, 2, 34, 5], [6, 9, 21, 42]] The key is 76 The resultant list is : [[71, 5, 21, 6]]
คำอธิบาย
-
มีการกำหนดเมธอดชื่อ 'find_sum_pair' ที่รับพารามิเตอร์สองตัว
-
โดยจะวนซ้ำผ่านพารามิเตอร์ตัวแรก และตรวจสอบเพื่อดูว่าองค์ประกอบในผลรวมของค่าในดัชนีเฉพาะสองตัวนั้นเท่ากับพารามิเตอร์ตัวที่สองหรือไม่
-
ถ้าใช่ ค่า 'True' จะถูกส่งคืน
-
มิฉะนั้น 'False' จะถูกส่งคืน
-
นอกเมธอด รายการของรายการถูกกำหนดและแสดงบนคอนโซล
-
ค่าสำหรับคีย์ถูกกำหนดไว้
-
ความเข้าใจรายการใช้เพื่อวนซ้ำรายการและเรียกเมธอดโดยส่งพารามิเตอร์ที่จำเป็น
-
สิ่งนี้ถูกกำหนดให้กับตัวแปร
-
จะแสดงเป็นเอาต์พุตบนคอนโซล