ชุดนั้นเป็นคอลเล็กชั่นของอ็อบเจกต์ตารางแฮชที่ไม่เรียงลำดับ เราสามารถใช้เซตสำหรับการดำเนินการทางคณิตศาสตร์บางอย่างได้ เช่น เซตยูเนียน ทางแยก ความแตกต่าง ฯลฯ เรายังสามารถใช้เซ็ตเพื่อลบรายการที่ซ้ำกันออกจากคอลเล็กชัน
ชุดไม่บันทึกตำแหน่งขององค์ประกอบ ไม่รองรับการทำดัชนี การแบ่งส่วน หรือการดำเนินการอื่นๆ ที่เกี่ยวข้องกับลำดับ
ใน python มี set อยู่ 2 แบบ ชุด และ ชุดแช่แข็ง . ชนิดของชุดจะเปลี่ยนแปลงได้ ไม่ว่าชุดเยือกแข็งจะไม่เปลี่ยนรูปแบบหรือไม่ เราสามารถดำเนินการ add(), remove() และการดำเนินการประเภทนี้ในเซ็ต แต่เป็นไปไม่ได้สำหรับfrozenset
วิธีการและการดำเนินการที่เกี่ยวข้องบางชุดมีดังนี้ −
วิธีการใช้งาน
len() วิธีการส่งกลับจำนวนขององค์ประกอบในชุด
การทำงาน (x ใน s) หรือ (ไม่ใช่ s)
ใน และ ไม่อยู่ใน การดำเนินการจะใช้เพื่อตรวจสอบความเป็นสมาชิกขององค์ประกอบในชุด ในคำสั่งแรก (x ใน s) มันจะคืนค่า จริง เมื่อค่า x พร้อมใช้งานในชุด s อันที่สอง (y ไม่อยู่ใน s) จะคืนค่า จริง เมื่อองค์ประกอบ y ไม่มีอยู่ในเซต
วิธีการ isdisjoint(other_set)
วิธีนี้จะตรวจสอบว่า other_set ไม่เกี่ยวข้องกับชุดปัจจุบันหรือไม่ หากมีอย่างน้อยหนึ่งองค์ประกอบร่วมกันสำหรับทั้งคู่ เมธอดจะคืนค่าเท็จ
วิธีการ issuperset(other_set)
ฟังก์ชันนี้คืนค่า จริง เมื่อองค์ประกอบทั้งหมดในชุด other_set มีอยู่ในชุดปัจจุบันด้วย โดยทั่วไปจะตรวจสอบว่าชุดปัจจุบันเป็นชุด superset ของชุดอื่น ๆ หรือไม่
เมธอดยูเนี่ยน(other_set)
ฟังก์ชัน union() จะคืนค่าชุดใหม่โดยรวบรวมองค์ประกอบทั้งหมดจากชุดปัจจุบันและชุดอื่น ๆ _set
วิธีแยก(other_set)
ฟังก์ชัน intersection() จะคืนค่าชุดใหม่โดยรวบรวมองค์ประกอบทั่วไปจากชุดปัจจุบันและชุดอื่น ๆ _set
ความแตกต่างของวิธีการ(other_set)
วิธีผลต่าง () จะคืนค่าชุด โดยที่ชุดสุดท้ายประกอบด้วยองค์ประกอบทั้งหมดของชุดแรก ยกเว้นองค์ประกอบทั่วไปของชุดที่สอง
วิธีการเพิ่ม (องค์ประกอบ)
เพิ่มองค์ประกอบองค์ประกอบในชุด
วิธีการทิ้ง(องค์ประกอบ)
ลบองค์ประกอบองค์ประกอบออกจากชุด สิ่งนี้จะทำงานเมื่อมีองค์ประกอบอยู่ในชุด มีวิธีการอื่นที่เรียกว่า remove() ในการลบ () จะเพิ่ม KeyError หากไม่มีรายการในชุด
โค้ดตัวอย่าง
mySet1 = {1, 2, 5, 6} mySet2 = {8, 5, 3, 4} mySet3 = set(range(15)) # all elements from 0 to 14 in the set mySet4 = {10, 20, 30, 40} print(set(mySet1.union(mySet2))) print(set(mySet1.intersection(mySet2))) print(set(mySet1.difference(mySet2))) print(mySet3.issuperset(mySet1)) print(mySet1.isdisjoint(mySet4)) mySet4.add(45) print(mySet4) mySet4.discard(40) print(mySet4)
ผลลัพธ์
set([1, 2, 3, 4, 5, 6, 8]) set([5]) set([1, 2, 6]) True True set([40, 10, 20, 45, 30]) set([10, 20, 45, 30])