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

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

ประยุกต์รูปแบบ comprehension กับเซตและดิกชันนารี

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

บทนำ

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

ไวยากรณ์คอมเพรเฮนชันของเซต

`{expression for item in iterable}` ใช้วงเล็บปีกกาโดยไม่มีโคลอน ผลลัพธ์คือเซต ซึ่งไม่มีลำดับและไม่มีสมาชิกซ้ำ
unique_lens = {len(w) for w in ['apple','banana','fig']}
print(unique_lens)

การลบข้อมูลซ้ำด้วยคอมเพรเฮนชันของเซต

นิพจน์ที่ซ้ำกันจะถูกตัดออกโดยไม่มีการแจ้งเตือน ` {x%3 for x in range(9)}` ให้ผลลัพธ์เป็น `{0,1,2}`
mods = {x % 3 for x in range(9)}
print(mods)

คอมเพรเฮนชันของเซตพร้อมเงื่อนไข

`{x for x in range(20) if x%2==0 and x%3==0}` ให้จำนวนที่หารด้วยทั้ง 2 และ 3 ลงตัว
print({x for x in range(20) if x%2==0 and x%3==0})

ไวยากรณ์คอมเพรเฮนชันของพจนานุกรม

`{key_expr: val_expr for item in iterable}` ใช้ key:value ก่อน for และสร้างพจนานุกรม
squares = {x: x**2 for x in range(5)}
print(squares)

คอมเพรเฮนชันของพจนานุกรมพร้อมเงื่อนไข

`{k: v for k, v in d.items() if v > 0}` กรองพจนานุกรมให้เหลือเฉพาะค่าบวก
d = {'a': 1, 'b': -2, 'c': 3}
pos = {k: v for k, v in d.items() if v > 0}
print(pos)

การสลับพจนานุกรม

`{v: k for k, v in d.items()}` สลับคีย์กับค่า โดยค่าทั้งหมดต้องไม่ซ้ำกันและต้องแฮชได้
d = {'a': 1, 'b': 2, 'c': 3}
print({v: k for k, v in d.items()})

การจัดกลุ่มด้วยคอมเพรเฮนชันของพจนานุกรม

`{letter: [w for w in words if w[0]==letter] for letter in 'abc'}` จัดกลุ่มคำตามอักษรตัวแรก
words = ['apple','ant','banana','cherry','cat']
grouped = {l: [w for w in words if w.startswith(l)] for l in 'abc'}
print(grouped)

การรวมสองรายการเป็นพจนานุกรม

`{k: v for k, v in zip(keys, vals)}` อ่านง่ายกว่า `dict(zip(keys, vals))` เมื่อคุณต้องการแปลงข้อมูล
keys = ['x', 'y', 'z']
vals = [1, 4, 9]
print({k: v**0.5 for k, v in zip(keys, vals)})

คอมเพรเฮนชันของพจนานุกรมซ้อน

`{i: {j: i*j for j in range(3)} for i in range(3)}` สร้างตารางคูณในรูปพจนานุกรมซ้อนกัน
table = {i: {j: i*j for j in range(3)} for i in range(3)}
print(table)

ควรใช้แต่ละแบบเมื่อใด

ใช้คอมเพรเฮนชันของเซตเมื่อต้องการค่าที่ไม่ซ้ำ ใช้พจนานุกรมเมื่อต้องการการจับคู่คีย์กับค่า และใช้รายการเมื่อลำดับมีความสำคัญ
words = ['hello', 'world', 'hello']
unique = {w for w in words}
lengths = {w: len(w) for w in unique}
print(lengths)

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

ความแตกต่างทางไวยากรณ์ที่สำคัญระหว่างคอมเพรเฮนชันของเซตกับพจนานุกรมคืออะไร

สรุปทบทวน

คอมเพรเฮนชันของเซต: `{expr for x in it}` คอมเพรเฮนชันของพจนานุกรม: `{k: v for x in it}` ทั้งสองแบบรองรับการกรองด้วย if แต่พจนานุกรมต้องใช้คีย์ที่ไม่ซ้ำและแฮชได้

เรียนต่อ

ยอดเยี่ยมมาก! โปรดเรียนต่อในบทถัดไปเพื่อพัฒนาทักษะของคุณให้ลึกซึ้งยิ่งขึ้น

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

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

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

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

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

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

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

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

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

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

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

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

  1. การสร้างลิสต์แบบย่อ
  2. การสร้างเซตและดิกชันนารีแบบย่อ
  3. นิพจน์ตัวสร้าง
  4. คีย์เวิร์ด yield
← กลับไปที่ Python Academy