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

Find Tuples Containing Given Element จาก List of Tuples Python

ได้ลิสต์ของ 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 อ่านง่ายกว่า