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

ฟังก์ชัน issubset() ใน Python


ในบทความนี้ เราจะเรียนรู้การใช้งานและการนำไปปฏิบัติของฟังก์ชัน issubset() ที่มีอยู่ใน Python Standard Library

เมธอด issubset() คืนค่า Boolean True เมื่อทุกองค์ประกอบของเซตหนึ่งอยู่ในอีกเซตหนึ่ง (ส่งเป็นอาร์กิวเมนต์) มิฉะนั้นคืนค่า Boolean False

ในรูปภาพด้านล่าง B เป็น subset ของ A ในกรณีที่ A และ B เป็นเซตเหมือนกัน หมายความว่า A เป็น proper subset ของ B หมายถึงทั้งสองเซตมีองค์ประกอบเหมือนกันทั้งหมด
ฟังก์ชัน issubset() ใน Python

ไวยากรณ์

<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 และชนิดอาร์กิวเมนต์ที่อนุญาตให้เปรียบเทียบได้ด้วยฟังก์ชันนี้