Python Tuples สามารถซ้อนกันได้ เราสามารถมีทัพเปิลที่องค์ประกอบของมันก็เป็นทัพเปิล ในบทความนี้เราจะดูวิธีหาว่าค่าที่กำหนดมีอยู่เป็นองค์ประกอบในทัพเปิลของทัพเปิลหรือไม่
ด้วย any
ฟังก์ชัน any สามารถใช้ตรวจสอบว่าค่าที่กำหนดมีอยู่เป็นองค์ประกอบในทัพเปิลย่อยใดๆ ที่อยู่ในทัพเปิลได้ด้วยช่วยของลูป for เราใส่เงื่อนไขการตรวจสอบทั้งหมดใน if และ else clause
ตัวอย่าง
Atuple = [('Mon',10),('Tue',8),('Wed',8),('Thu',5)] # Given tuple
print("Given tuple: ", Atuple)
# Use any
if any('Tue' in i for i in Atuple):
print("present")
else:
print("Not present")
if any(3 in i for i in Atuple):
print("present")
else:
print("Not present")
Output
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ -
Given tuple: [('Mon', 10), ('Tue', 8), ('Wed', 8), ('Thu', 5)]
present
Not present
ด้วย itertools.chain
ฟังก์ชัน chain ในโมดูล itertools คืนค่าองค์ประกอบจาก iterable แรกจนหมด แล้วไป iterable ถัดไป จน iterable ทั้งหมดหมด เราใช้กับทัพเปิลที่กำหนดขยายเนื้อหาทั้งหมดและตรวจสอบความมีอยู่ของค่าที่ต้องการด้วย if clause
ตัวอย่าง
import itertools
Atuple = (('Mon',10),('Tue',8),('Wed',8),('Thu',5)) # Given tuple
print("Given tuple: ", Atuple)
# Use chain
if ('Wed' in itertools.chain(*Atuple)):
print("Wed is present")
else:
print("Wed is not present")
if (11 in itertools.chain(*Atuple)):
print("11 is present")
else:
print("11 is not present")
Output
การรันโค้ดข้างต้นให้ผลลัพธ์ดังนี้ -
Given tuple: (('Mon', 10), ('Tue', 8), ('Wed', 8), ('Thu', 5))
Wed is present
11 is not present