0Pricing
Python Academy · บทเรียน

เซตและการดำเนินการกับเซต

สร้างเซตและดำเนินการยูเนียน อินเตอร์เซกชัน และผลต่าง

เซตและการดำเนินการกับเซต เป็นบทเรียน Python Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Python Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน

บทนำ

เซตคือกลุ่มสมาชิกที่ไม่เรียงลำดับและไม่ซ้ำกัน โดยสมาชิกต้องแฮชได้ เซตได้รับการปรับให้เหมาะกับการตรวจสอบการมีอยู่และการดำเนินการทางคณิตศาสตร์ของเซต

การสร้างเซต

s = {1, 2, 3} หรือ s = set([1, 2, 2, 3]) — ค่าที่ซ้ำกันจะถูกลบโดยอัตโนมัติ {} จะสร้าง DICT ว่าง ไม่ใช่เซต
s = {1, 2, 2, 3}
print(s)  # {1, 2, 3}
empty = set()
print(type(empty))

add() และ discard()

s.add(x) เพิ่มสมาชิก s.discard(x) ลบสมาชิกอย่างเงียบ ๆ โดยไม่เกิดข้อผิดพลาดหากไม่มีสมาชิกนั้น ส่วน s.remove(x) จะทำให้เกิด KeyError หากไม่มีสมาชิก
s = {1, 2, 3}
s.add(4)
s.discard(9)  # safe
print(s)

การตรวจสอบการมีอยู่

x in s ใช้เวลา O(1) สำหรับเซต เทียบกับ O(n) สำหรับลิสต์ ควรใช้เซตเสมอเมื่อคุณต้องการเพียงตรวจสอบการมีอยู่อย่างรวดเร็ว
s = {1, 2, 3}
print(2 in s)
print(9 in s)

ยูเนียน |

s1 | s2 คืนสมาชิกที่อยู่ในเซตใดเซตหนึ่ง s1.union(s2) ให้ผลเทียบเท่ากัน
a = {1, 2, 3}
b = {3, 4, 5}
print(a | b)

อินเตอร์เซกชัน &

s1 & s2 คืนสมาชิกที่อยู่ในทั้งสองเซต s1.intersection(s2) ให้ผลเทียบเท่ากัน
a = {1, 2, 3}
b = {2, 3, 4}
print(a & b)

ผลต่าง -

s1 - s2 คืนสมาชิกที่อยู่ใน s1 แต่ไม่อยู่ใน s2 s1.difference(s2) ให้ผลเทียบเท่ากัน
a = {1, 2, 3}
b = {2, 3, 4}
print(a - b)

ผลต่างสมมาตร ^

s1 ^ s2 คืนสมาชิกที่อยู่ในเซตใดเซตหนึ่งแต่ไม่อยู่ในทั้งสองเซต เหมาะสำหรับค้นหาสิ่งที่เปลี่ยนแปลงระหว่างเซตสองชุด
a = {1, 2, 3}
b = {2, 3, 4}
print(a ^ b)

เซตย่อยและเซตแม่

s1 <= s2 ตรวจสอบว่า s1 เป็นเซตย่อยของ s2 หรือไม่ s1 >= s2 ตรวจสอบว่าเป็นเซตแม่หรือไม่ และ s1 < s2 ตรวจสอบว่าเป็นเซตย่อยแท้หรือไม่
a = {1, 2}
b = {1, 2, 3}
print(a <= b)
print(b >= a)

frozenset

frozenset คือเซตที่เปลี่ยนแปลงไม่ได้ จึงใช้เป็นคีย์ของดิกชันนารีหรือเป็นสมาชิกของเซตอื่นได้
fs = frozenset([1, 2, 3])
d = {fs: 'value'}
print(d[fs])

การสร้างเซตแบบย่อ

{x*2 for x in range(5)} สร้างเซตด้วยรูปแบบการสร้างแบบย่อ ค่าที่ซ้ำกันจะถูกตัดออกโดยอัตโนมัติ
evens = {x*2 for x in range(5)}
print(evens)

ตรวจสอบความเข้าใจ

ความซับซ้อนด้านเวลาของ x in s สำหรับเซต Python s คือเท่าใด

สรุปทบทวน

เซต: ไม่เรียงลำดับ ไม่ซ้ำกัน และตรวจสอบการมีอยู่ได้ในเวลา O(1) การดำเนินการ: | (ยูเนียน), & (อินเตอร์เซกชัน), - (ผลต่าง), ^ (ผลต่างสมมาตร) ใช้ frozenset สำหรับเซตที่เปลี่ยนแปลงไม่ได้

เรียนต่อ

ทำได้ดีมากครับ! ไปยังบทเรียนถัดไปเพื่อพัฒนาทักษะของคุณต่อ

คำถามที่พบบ่อย

บทเรียน “เซตและการดำเนินการกับเซต” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “เซตและการดำเนินการกับเซต” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Python Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Python Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “เซตและการดำเนินการกับเซต”

สร้างเซตและดำเนินการยูเนียน อินเตอร์เซกชัน และผลต่าง คุณปฏิบัติ Python Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Python Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Python Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “เซตและการดำเนินการกับเซต” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Python Academy นี้ได้ไหม

ได้ บทเรียน Python Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. พื้นฐานดิกชันนารี
  2. เมธอดของดิกชันนารี
  3. เซตและการดำเนินการกับเซต
  4. การสร้างดิกชันนารีแบบย่อ
← กลับไปที่ Python Academy