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