เซต (set) ใน Python
set เก็บแต่ละค่าไว้เพียงครั้งเดียว และตอบคำถามว่า "ค่านี้อยู่ในนี้ไหม?" ได้รวดเร็วมาก จึงเหมาะสำหรับการลบค่าซ้ำ
เซต (set) ใน Python คืออะไร?
set เก็บแต่ละค่าไว้เพียงครั้งเดียว และตอบคำถามว่า "ค่านี้อยู่ในนี้ไหม?" ได้รวดเร็วมาก จึงเหมาะสำหรับการลบค่าซ้ำ
เก็บค่าที่ไม่ซ้ำด้วย set และรวมชุดข้อมูลด้วย union และ intersection
ควรใช้เมื่อใด?
- เรียนรู้ไวยากรณ์ Python ผ่านโค้ดที่รันได้
- สร้างพื้นฐานสำหรับโจทย์ที่ซับซ้อนขึ้น
- ทดลองแนวคิดโดยไม่ต้องติดตั้งบนเครื่อง
ดูการทำงาน
เลือกการดำเนินการเพื่อไฮไลต์ผลลัพธ์ในแผนภาพ เพิ่มค่าที่มีอยู่แล้วเพื่อดูว่าค่าซ้ำถูกละไว้
โค้ดตัวอย่าง
# 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 และทดสอบกรณีขอบก่อนใช้ชุดข้อมูลที่ใหญ่ขึ้น
- คาดเดา output ก่อนรัน
- รองรับ input ว่างหรือไม่ถูกต้อง
- แยก logic เป็นฟังก์ชันและเพิ่ม test case
ฝึกด้วยโจทย์
ใช้สิ่งที่เรียนในบทนี้แก้ปัญหาจริง ทุกโจทย์รันในเบราว์เซอร์ พร้อมการทดสอบทันทีและรีวิวจาก AI
โจทย์ทั้งหมด