การทำงานกับ dictionary ซ้อน dictionary
dictionary สามารถเก็บ dictionary อื่นเป็นค่าของ key ได้ ซึ่งเป็นวิธีที่นิยมใช้จัดการกับโครงสร้างข้อมูลที่ซ้ำกัน เช่น ข้อมูลรายปี รายเดือน หรือรายสัปดาห์ กฎการสร้างและเข้าถึงข้อมูลยังคงเหมือนเดิมทุกประการ
ตัวอย่างเช่น หากมี dictionary ที่บันทึกจำนวนคุกกี้ที่กินในแต่ละปีแยกตามประเภท อาจมีหน้าตาแบบนี้ cookies = {'2017': {'chocolate chip': 483, 'peanut butter': 115}, '2016': {'chocolate chip': 9513, 'peanut butter': 6792}} และสามารถเข้าถึงจำนวน chocolate chip ในปี 2016 ได้ด้วย cookies['2016']['chocolate chip']
เมื่อสำรวจ dictionary ใหม่ การใช้เมธอด .keys() ช่วยให้เห็นภาพรวมว่ามีข้อมูลอะไรอยู่บ้าง นอกจากนี้ยังสามารถวน loop ผ่าน dictionary ได้โดยตรง ซึ่งจะคืนค่า key แต่ละตัวมาให้ใช้ภายใน loop
เราได้โหลด dictionary ชื่อ squirrels_by_park ไว้ให้แล้ว โดยใช้ชื่อสวนสาธารณะเป็น key และเก็บข้อมูลของกระรอกตัวหนึ่งเป็น dictionary ซ้อนอยู่ภายใน
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
ประเภทข้อมูลใน Python
คำแนะนำการฝึกหัด
- แสดง key ของ dictionary
squirrels_by_parkหมายเหตุ: key เหล่านั้นคือpark_names - แสดง key ของ dictionary
squirrels_by_parkสำหรับ park_name ที่ชื่อว่าUnion Square Park - วน loop ผ่าน dictionary
squirrels_by_park- ภายใน loop ให้แสดง
park_nameและhighlights_in_fur_colorอย่างปลอดภัย โดยแสดง'N/A'หากไม่พบ highlightsinfur_color หรือค่าเป็น None
- ภายใน loop ให้แสดง
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Print a list of keys from the squirrels_by_park dictionary
print(____)
# Print the keys from the squirrels_by_park dictionary for 'Union Square Park'
print(____)
# Loop over the dictionary
for park_name in squirrels_by_park:
# Safely print the park_name and the highlights_in_fur_color or 'N/A'
print(park_name, squirrels_by_park[____].____('____', '____'))