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

โปรแกรม Python หา Tuple ที่มีสมาชิกเป็นบวกทั้งหมดจาก List of Tuples

เมื่อต้องการกรอง tuple ที่มีสมาชิกทุกตัวเป็นจำนวนบวก (หรือศูนย์) จาก list of tuples สามารถใช้ list comprehension ร่วมกับฟังก์ชัน all()

โค้ดตัวอย่าง

my_list = [(56, 43), (-31, 21, 23), (51, -65, 26), (24, 56)]
print("The list is:")
print(my_list)
my_result = [sub for sub in my_list if all(elem >= 0 for elem in sub)]
print("The positive elements are:")
print(my_result)

ผลลัพธ์

The list is: [(56, 43), (-31, 21, 23), (51, -65, 26), (24, 56)]
The positive elements are: [(56, 43), (24, 56)]

คำอธิบาย

  • กำหนด list of tuples และแสดงผล

  • ใช้ list comprehension: [sub for sub in my_list if all(elem >= 0 for elem in sub)]

  • all(elem >= 0 for elem in sub) คืน True ก็ต่อเมื่อทุก elem ใน sub ต้องมากกว่าหรือเท่ากับ 0

  • Tuple ที่ผ่านเงื่อนไขจะถูกเก็บใน my_result

ข้อสังเกต: โค้ดตรวจสอบ elem >= 0 รวมศูนย์ด้วย หากต้องการ "บวกอย่างเคร่งครัด" (positive only) ให้เปลี่ยนเป็น elem > 0