ได้ลิสต์ของ Tuple และค่าที่ต้องการค้นหา ต้องการ Tuple ทุกตัวที่มีค่านั้น (ในตำแหน่งใดก็ได้)
วิธี 1: List Comprehension กับ in
listA = [('Mon', 3), ('Tue', 1), ('Mon', 2), ('Wed', 3)]
target = 'Mon'
res = [t for t in listA if target in t]
print(res) # [('Mon', 3), ('Mon', 2)]
วิธี 2: ใช้ filter() กับ lambda
listA = [('Mon', 3), ('Tue', 1), ('Mon', 2), ('Wed', 3)]
target = 'Mon'
res = list(filter(lambda t: target in t, listA))
print(res) # [('Mon', 3), ('Mon', 2)]
สรุป
ทั้งสองวิธีเทียบเท่า in ตรวจสอบค่าใน Tuple ได้โดยตรง filter เหมาะกับ Functional Style list comprehension อ่านง่ายกว่า