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

โปรแกรม Python เพื่อกรองแถวด้วยผลรวมคู่เฉพาะ


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

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

ตัวอย่าง

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' จะถูกส่งคืน

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

  • ค่าสำหรับคีย์ถูกกำหนดไว้

  • ความเข้าใจรายการใช้เพื่อวนซ้ำรายการและเรียกเมธอดโดยส่งพารามิเตอร์ที่จำเป็น

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

  • จะแสดงเป็นเอาต์พุตบนคอนโซล