Python Set
— python — 1 min read
เซต (Set) เป็นโครงสร้างข้อมูลในภาษา Python ที่เก็บค่าที่ไม่ซ้ำกันและไม่มีลำดับ ซึ่งเป็นประโยชน์ในการจัดการกับข้อมูลที่ต้องการเก็บค่าที่ไม่ซ้ำกันเพื่อให้ได้ชุดข้อมูลที่ไม่ซ้ ำกันเอาไว้
การสร้างเซตใน Python สามารถทำได้โดยใช้วงเล็บปีกกา หรือฟังก์ชัน set() ดังตัวอย่าง:
fruits = {"apple", "banana", "cherry"}
ในตัวอย่างนี้เราสร้างเซต fruits ที่เก็บค่าสตริง "apple", "banana", และ "cherry"
เราสามารถดำเนินการกับเซตใน Python ได้หลายวิธี เช่น เพิ่มสมาชิกในเซต, ลบสมาชิกออกจากเซต, หาความสัมพันธ์ระหว่างเซต, และอื่น ๆ ดังตัวอย่าง:
fruits = {"apple", "banana", "cherry"}
# เพิ่มสมาชิก "durian" เข้าไปในเซตfruits.add("durian")print(fruits) # ผลลัพธ์ที่คืนค่าคือ {"apple", "banana", "cherry", "durian"}
# ลบสมาชิก "banana" ออกจากเซตfruits.remove("banana")print(fruits) # ผลลัพธ์ที่คืนค่าคือ {"apple", "cherry", "durian"}
# ตรวจสอบว่า "apple" อยู่ในเซตหรือไม่print("apple" in fruits) # ผลลัพธ์ที่คืนค่าคือ True
# หาความสัมพันธ์ระหว่างเซตfruits1 = {"apple", "banana", "cherry"}fruits2 = {"banana", "durian"}intersection = fruits1.intersection(fruits2)print(intersection) # ผลลัพธ์ที่คืนค่าคือ {"banana"}
# รวมเซตfruits1 = {"apple", "banana", "cherry"}fruits2 = {"banana", "durian"}union = fruits1.union(fruits2)print(union) # ผลลัพธ์ที่คืนค่าคือ {"apple", "banana", "cherry", "durian"}
ในตัวอย่างนี้เราใช้เมธอดและตัวดำเนินการของเซต เช่น add() เพื่อเพิ่มสมาชิกในเซต, remove() เพื่อลบสมาชิกออกจากเซต, in เพื่อตรวจสอบว่าสมาชิกอยู่ในเซตหรื อไม่, intersection() เพื่อหาความสัมพันธ์ระหว่างเซต, และ union() เพื่อรวมเซตกัน
เซตใน Python มีคุณสมบัติที่สำคัญอย่างหนึ่งคือการไม่เก็บค่าซ้ำกัน ดังนั้น เมื่อใช้งานเซต คุณสามารถแยกค่าที่ไม่ซ้ำกันจากชุดข้อมูลใหญ่โดยง่าย และสามารถดำเนินการกับเซตได้อย่างมีประสิทธิภาพ
และเพื่อเสริมความเข้าใจในการใช้งานเซตในภาษา Python เรามาดูตัวอย่างเพิ่มเติมดังนี้:
# สร้างเซตของตัวเลขnumbers = {1, 2, 3, 4, 5}print(numbers) # ผลลัพธ์ที่คืนค่าคือ {1, 2, 3, 4, 5}
# เพิ่มสมาชิกซ้ำในเซต (จะไม่มีผลเพราะเซตไม่เก็บค่าซ้ำกัน)numbers.add(3)print(numbers) # ผลลัพธ์ที่คืนค่าคือ {1, 2, 3, 4, 5}
# นับจำนวนสมาชิกในเซตcount = len(numbers)print(count) # ผลลัพธ์ที่คืนค่าคือ 5
# ลบสมาชิกออกจากเซตnumbers.remove(4)print(numbers) # ผลลัพธ์ที่คืนค่าคือ {1, 2, 3, 5}
# วนลูปแสดงสมาชิกในเซตfor number in numbers: print(number)# ผลลัพธ์ที่คืนค่าคือ# 1# 2# 3# 5
# ตรวจสอบว่าสองเซตมีสมาชิกที่เหมือนกันหรือไม่set1 = {1, 2, 3}set2 = {3, 4, 5}common_elements = set1.intersection(set2)print(common_elements) # ผลลัพธ์ที่คืนค่าคือ {3}
# ตรวจสอบว่าเซตทั้งหมดอยู่ในเซตอื ่นหรือไม่set1 = {1, 2}set2 = {1, 2, 3, 4, 5}is_subset = set1.issubset(set2)print(is_subset) # ผลลัพธ์ที่คืนค่าคือ True
# แก้ไขเซตโดยการรวมเซตและลบสมาชิกset1 = {1, 2, 3}set2 = {3, 4, 5}set1.update(set2) # รวมเซต set2 เข้ากับเซต set1print(set1) # ผลลัพธ์ที่คืนค่าคือ {1, 2, 3, 4, 5}
set1.discard(2) # ลบสมาชิก 2 ออกจากเซต set1print(set1) # ผลลัพธ์ที่คืนค่าคือ {1, 3, 4, 5}
ตัวอย่างข้างต้นจะช่วยให้คุณเข้าใจในการสร้างเซต, เพิ่มและลบสมาชิกในเซต, ตรวจสอบความสัมพันธ์ระหว่างเซต, วนลูปผ่านสมาชิกในเซต, และดำเนินการอื่น ๆ ที่เกี่ยวข้องกับเซตในภาษา Python