ในบทความนี้ เราจะเรียนรู้การใช้งานและการนำไปปฏิบัติของฟังก์ชัน issubset() ที่มีอยู่ใน Python Standard Library
เมธอด issubset() คืนค่า Boolean True เมื่อทุกองค์ประกอบของเซตหนึ่งอยู่ในอีกเซตหนึ่ง (ส่งเป็นอาร์กิวเมนต์) มิฉะนั้นคืนค่า Boolean False
ในรูปภาพด้านล่าง B เป็น subset ของ A ในกรณีที่ A และ B เป็นเซตเหมือนกัน หมายความว่า A เป็น proper subset ของ B หมายถึงทั้งสองเซตมีองค์ประกอบเหมือนกันทั้งหมด
ไวยากรณ์
<set 1>.issubset(<set 2>)
ค่าที่คืน
Boolean True/False
มาดูภาพประกอบเพื่อเข้าใจแนวคิด
ตัวอย่างโค้ด
A = {'t','u','t','o','r','i','a','l'}
B = {'t','u','t'}
C = {'p','o','i','n','t'}
print(B.issubset(A))
print(B.issubset(C))
A = set(str(A) + str(C))
print(C.issubset(A))
ผลลัพธ์
True False True
คำอธิบาย
ที่นี่มีการตรวจสอบว่าองค์ประกอบทั้งหมดของ B อยู่ใน A ซึ่งประเมินเป็น True คล้ายกันสำหรับคำสั่งถัดไป
ตอนนี้เรารวมเซตสองเซตเพื่อบังคับให้เป็น subset โดยใช้ type casting ตามที่เห็นในคำสั่งถัดไป
มาดูว่าจะเกิดอะไรขึ้นถ้าเราระบุ iterable อีกประเภทหนึ่งที่ไม่ใช่ set และส่งเป็นอาร์กิวเมนต์
ตัวอย่างโค้ด
A = ['t','u','t','o','r','i','a','l']
B = {'t','u','t'}
C = ('p','o','i','n','t')
D = {'p','o','i','n','t'}
print(B.issubset(A))
print(B.issubset(C))
A = set(str(A) + str(C))
print(D.issubset(A))
ผลลัพธ์
True False True
คำอธิบาย
ที่นี่เราส่ง tuple, string และ list iterables ให้ฟังก์ชัน issubset() ชนิดเหล่านี้ถูกแปลงเป็น set โดยอัตโนมัติโดย Python interpreter เพื่อให้ได้ผลลัพธ์ที่ต้องการ
เราต้องสังเกตด้วยว่าอาร์กิวเมนต์ภายนอกฟังก์ชันต้องเป็นชนิด <set> เสมอ เพื่อให้ interpreter รู้ว่าการเปรียบเทียบเป็นระหว่างสองเซต ไม่ใช่ชนิดอื่น
สรุป
ในบทความนี้ เราได้เรียนรู้วิธีใช้ issubset() ใน Python และชนิดอาร์กิวเมนต์ที่อนุญาตให้เปรียบเทียบได้ด้วยฟังก์ชันนี้