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