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

เมธอดของดิกชันนารี

ใช้ get, keys, values, items, update และ pop

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

บทนำ

ดิกชันนารีของ Python มีเมธอดมากมายสำหรับรวม แปลง และเข้าถึงข้อมูลอย่างปลอดภัย

keys(), values(), items()

เมธอดเหล่านี้คืนอ็อบเจ็กต์มุมมองที่สะท้อนการเปลี่ยนแปลงของดิกชันนารี หากต้องการค่าที่บันทึกไว้ ณ ขณะหนึ่ง ให้แปลงเป็นลิสต์
d = {'a': 1, 'b': 2}
print(list(d.keys()))
print(list(d.values()))
print(list(d.items()))

update()

d.update({'c': 3, 'd': 4}) รวมดิกชันนารีอีกตัวเข้ามา คีย์ที่มีอยู่เดิมจะถูกเขียนทับ
d = {'a': 1}
d.update({'b': 2, 'a': 99})
print(d)

pop() พร้อมค่าเริ่มต้น

d.pop('key', default) ลบและคืนค่าที่เกี่ยวข้อง หากไม่มีคีย์ดังกล่าวและไม่ได้ระบุค่าเริ่มต้น จะเกิด KeyError
d = {'a': 1, 'b': 2}
val = d.pop('a')
print(val, d)

popitem()

d.popitem() ลบและคืนคู่ (คีย์, ค่า) ที่ถูกแทรกเข้าไปล่าสุด หากดิกชันนารีว่างเปล่า จะเกิด KeyError
d = {'a': 1, 'b': 2}
print(d.popitem())
print(d)

setdefault()

d.setdefault('key', default) จะแทรกค่าเริ่มต้นเมื่อไม่มีคีย์ดังกล่าว และคืนค่า วิธีนี้ช่วยหลีกเลี่ยงการเรียก get แล้วกำหนดค่าซ้ำกัน
d = {}
d.setdefault('count', 0)
d['count'] += 1
print(d)

การรวมด้วย | (Python 3.9 ขึ้นไป)

d1 | d2 คืนดิกชันนารีใหม่ที่รวมกันแล้ว ส่วน d1 |= d2 จะปรับปรุง d1 โดยตรง สะอาดกว่าใช้ update()
d1 = {'a': 1}
d2 = {'b': 2}
print(d1 | d2)

copy() และ deepcopy()

d.copy() สร้างสำเนาแบบตื้น สำหรับดิกชันนารีซ้อนกัน ให้ใช้ copy.deepcopy(d) เพื่อหลีกเลี่ยงการใช้อ้างอิงร่วมกัน
import copy
d = {'a': [1,2]}
deep = copy.deepcopy(d)
deep['a'].append(3)
print(d, deep)

Counter จาก collections

from collections import Counter; Counter('banana') จะนับความถี่ของอักขระโดยอัตโนมัติ
from collections import Counter
c = Counter('banana')
print(c)

defaultdict

from collections import defaultdict; d = defaultdict(list) จะสร้างลิสต์ว่างให้อัตโนมัติเมื่อไม่พบคีย์
from collections import defaultdict
d = defaultdict(list)
d['a'].append(1)
print(d)

OrderedDict (หมายเหตุเกี่ยวกับรูปแบบเดิม)

ใน Python 3.7 ขึ้นไป ดิกชันนารีทั่วไปจะรักษาลำดับการแทรกไว้ OrderedDict ยังคงมีประโยชน์สำหรับ move_to_end() และการเปรียบเทียบที่คำนึงถึงลำดับ
from collections import OrderedDict
od = OrderedDict({'a':1,'b':2})
od.move_to_end('a')
print(list(od))

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

d.setdefault('key', 0) จะทำอะไรหากไม่มี 'key' อยู่ใน d

สรุปทบทวน

เมธอดของดิกชันนารี: update, pop/popitem, setdefault, copy/deepcopy ใช้ Counter สำหรับนับความถี่ ใช้ defaultdict เพื่อไม่ต้องตรวจสอบคีย์ที่หายไป และใช้ | เพื่อรวมดิกชันนารี (ตั้งแต่ 3.9 ขึ้นไป)

เรียนต่อ

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

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

บทเรียน “เมธอดของดิกชันนารี” ฟรีหรือไม่

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

คุณจะเรียนรู้อะไรในบทเรียน “เมธอดของดิกชันนารี”

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

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

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

บทเรียน “เมธอดของดิกชันนารี” ใช้เวลานานแค่ไหน

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

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

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

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

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