พื้นฐาน Python

เซต (set) ใน Python

set เก็บแต่ละค่าไว้เพียงครั้งเดียว และตอบคำถามว่า "ค่านี้อยู่ในนี้ไหม?" ได้รวดเร็วมาก จึงเหมาะสำหรับการลบค่าซ้ำ

เซต (set) ใน Python คืออะไร?

set เก็บแต่ละค่าไว้เพียงครั้งเดียว และตอบคำถามว่า "ค่านี้อยู่ในนี้ไหม?" ได้รวดเร็วมาก จึงเหมาะสำหรับการลบค่าซ้ำ

เก็บค่าที่ไม่ซ้ำด้วย set และรวมชุดข้อมูลด้วย union และ intersection

ควรใช้เมื่อใด?

  • เรียนรู้ไวยากรณ์ Python ผ่านโค้ดที่รันได้
  • สร้างพื้นฐานสำหรับโจทย์ที่ซับซ้อนขึ้น
  • ทดลองแนวคิดโดยไม่ต้องติดตั้งบนเครื่อง

ดูการทำงาน

เลือกการดำเนินการเพื่อไฮไลต์ผลลัพธ์ในแผนภาพ เพิ่มค่าที่มีอยู่แล้วเพื่อดูว่าค่าซ้ำถูกละไว้

โค้ดตัวอย่าง

รันโค้ด →
main.py
# A set stores unique values with no fixed order.
tags = {"python", "code", "python", "learn"}
print(len(tags))                 # the duplicate "python" is kept once
print("code" in tags)            # fast membership test

tags.add("fun")
tags.discard("code")
print(sorted(tags))

# Remove duplicates from a list.
numbers = [3, 1, 3, 2, 1]
print(sorted(set(numbers)))

# Set operations.
a = {1, 2, 3, 4}
b = {3, 4, 5}
print(a | b)   # union: in either set
print(a & b)   # intersection: in both
print(a - b)   # difference: in a but not in b

ผลลัพธ์ที่คาดหวัง

3
True
['fun', 'learn', 'python']
[1, 2, 3]
{1, 2, 3, 4, 5}
{3, 4}
{1, 2}

หลักการทำงาน

set ไม่มีลำดับตายตัว ดังนั้นจึงใช้ sorted() เพื่อให้แสดงผลได้แน่นอน | ใช้สร้าง union, & ใช้สร้าง intersection และ - ใช้หาความแตกต่างของ set สองชุด

เปลี่ยนค่าและรันโปรแกรมด้วย คอมไพเลอร์ Python ออนไลน์ของ CodeUtility โดยไม่ต้องติดตั้ง Python

แบบฝึกหัด

ลองเปลี่ยน input และทดสอบกรณีขอบก่อนใช้ชุดข้อมูลที่ใหญ่ขึ้น

  1. คาดเดา output ก่อนรัน
  2. รองรับ input ว่างหรือไม่ถูกต้อง
  3. แยก logic เป็นฟังก์ชันและเพิ่ม test case
รันใน Python IDE →

ฝึกด้วยโจทย์

ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI

โจทย์ทั้งหมด