เมื่อต้องการดึง tuple ที่มีสมาชิกทุกตัวอยู่ในช่วงที่กำหนด สามารถใช้ฟังก์ชัน filter() ร่วมกับ lambda ได้
ตัวอย่าง
my_list = [(13, 15, 17), (25, 56), (13, 21, 19), (44, 14)]
print("The list is :")
print(my_list)
beg, end = 13, 22
my_result = list(filter(lambda sub: all(element >= beg and element <= end for element in sub), my_list))
print("The result is :")
print(my_result)
ผลลัพธ์
The list is : [(13, 15, 17), (25, 56), (13, 21, 19), (44, 14)] The result is : [(13, 15, 17), (13, 21, 19)]
คำอธิบาย
กำหนดลิสต์ของ tuple และแสดงผลบนคอนโซล
กำหนดค่าเริ่มต้น (beg) และค่าสิ้นสุด (end) ของช่วงที่ต้องการ
ใช้ lambda function ร่วมกับตัวดำเนินการ
all()เพื่อตรวจสอบว่าสมาชิกทุกตัวใน tuple อยู่ในช่วงที่กำหนดหรือไม่ใช้
filter()เพื่อกรองเฉพาะ tuple ที่ผ่านเงื่อนไข แล้วแปลงเป็นลิสต์กำหนดผลลัพธ์ให้กับตัวแปรและแสดงผล