Skip to content
Siamcoder

Python Set

python1 min read

Picture of set of books

เซต (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 เข้ากับเซต set1
print(set1) # ผลลัพธ์ที่คืนค่าคือ {1, 2, 3, 4, 5}
set1.discard(2) # ลบสมาชิก 2 ออกจากเซต set1
print(set1) # ผลลัพธ์ที่คืนค่าคือ {1, 3, 4, 5}

ตัวอย่างข้างต้นจะช่วยให้คุณเข้าใจในการสร้างเซต, เพิ่มและลบสมาชิกในเซต, ตรวจสอบความสัมพันธ์ระหว่างเซต, วนลูปผ่านสมาชิกในเซต, และดำเนินการอื่น ๆ ที่เกี่ยวข้องกับเซตในภาษา Python