Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python: วิธีพิมพ์ Dictionary (Print Dictionary)

Dictionaries เก็บข้อมูลในรูปแบบ key-value pairs หมายถึงแต่ละ value ใน dictionary จะเชื่อมโยงกับ key ซึ่งทำหน้าที่เป็นจุดอ้างอิง

หากต้องการดูเนื้อหาของ dictionary บน console มีหลายวิธี สามารถพิมพ์ dictionary ทั้งตัวโดยตรง หรือพิมพ์ key-value pairs ทีละคู่

ในคู่มือนี้ เราจะพูดถึงวิธีพิมพ์ dictionary ใน Python พร้อมตัวอย่างหลายกรณี

Python: พิมพ์ Dictionary ด้วย for Loop

เราจะสร้างโปรแกรมพิมพ์เนื้อหาของ dictionary สำหรับพ่อครัว dictionary นี้เก็บชื่อวัตถุดิบและปริมาณที่ต้องใช้ทำขนมสโคน

สร้าง dictionary สำหรับสูตรอาหาร:

scone = {
    "self-raising flour": "350g",
    "baking powder": "1 tbsp",
    "butter": "85g",
    "caster sugar": "3 tbsp",
    "milk": "175ml",
    "egg": "1 whole"
}

Dictionary นี้มี 6 keys และ values แต่ละ key แทนชื่อวัตถุดิบ แต่ละ value บอกปริมาณที่ต้องใช้ทำสโคนหนึ่งชุด

ต่อมา ใช้ for loop พิมพ์เนื้อหา dictionary โดยใช้ method items():

for key, value in scone.items():
    print(value, key)

ลองรันโค้ด:

350g self-raising flour
1 tbsp baking powder
85g butter
3 tbsp caster sugar
175ml milk
1 whole egg

โค้ดทำงานสำเร็จ พิมพ์ keys และ values ทั้งหมด Method items() คืนค่า 2 lists: keys ทั้งหมดและ values ทั้งหมด ทุกครั้งที่วนลูป เราเข้าถึง key-value pair ใหม่

ในรอบแรก "value" คือ "350g" และ "key" คือ "self-raising flour" for loop จะวนจนพิมพ์ทุกคู่

Python: พิมพ์ Dictionary ด้วย json Module

ในตัวอย่างก่อน เราพิมพ์ dictionary ด้วย for loop วิธีนี้เหมาะสำหรับกรณีนั้น เพราะต้องการให้รายการวัตถุดิบอ่านง่ายสำหรับพ่อครัว

json module ช่วยทำงานกับ dictionaries ได้ method json.dumps ทำให้ dictionary อ่านง่ายสำหรับนักพัฒนา เหมาะสำหรับนักพัฒนาที่ต้องการดูค่าใน dictionary บน console

เราจะปรับโปรแกรมก่อนหน้าให้ใช้ json module พิมพ์ dictionary

เริ่มต้น import json module:

import json

กำหนด dictionary เดียวกับตัวอย่างก่อนหน้า:

scone = {
    "self-raising flour": "350g",
    "baking powder": "1 tbsp",
    "butter": "85g",
    "caster sugar": "3 tbsp",
    "milk": "175ml",
    "egg": "1 whole"
}

ใช้ json module พิมพ์ dictionary ใช้ method json.dumps จัดรูปแบบ:

formatted = json.dumps(scone, indent=4)
print(formatted)

เราระบุ 2 parameters ตอนเรียก json.dumps(): ชื่อ dictionary ที่ต้องการจัดรูปแบบ และจำนวน spaces ต่อ indent ในตัวอย่าง indent ยาว 4 spaces

ใช้ print() แสดง dictionary ที่จัดรูปแบบแล้ว รันโปรแกรม:

{
    "self-raising flour": "350g",
    "baking powder": "1 tbsp",
    "butter": "85g",
    "caster sugar": "3 tbsp",
    "milk": "175ml",
    "egg": "1 whole"
}

โค้ดแสดงรายการวัตถุดิบ

Python: พิมพ์ Nested Dictionary (Dictionary ซ้อน Dictionary)

"Nested dictionary" หมายถึง "dictionary ใน dictionary"

คุณสามารถพิมพ์ nested dictionary ด้วย json.dumps() และ print() หรือใช้ for loop วิธี for loop คล้ายตัวอย่างก่อน แต่ต้องปรับโค้ดนิดหน่อย

สมมติวัตถุดิบอยู่ใน dictionary ภายใน dictionary:

recipes = {
    "scone": {
        "self-raising flour": "350g",
        "baking powder": "1 tbsp",
        "butter": "85g",
        "caster sugar": "3 tbsp",
        "milk": "175ml",
        "egg": "1 whole"
    }
}

เพื่อเข้าถึง items ใน "scone" dictionary ต้องอ้างอิง key "scone" ก่อน เพื่อพิมพ์ dictionary ใช้ 2 for loops:

for key, value in recipes.items():
    print(key)
    for k, v in value.items():
        print(k, v)

for loop แรกวนผ่าน "recipes" dictionary for loop ที่สองวนผ่านแต่ละ dictionary ใน "recipes" ลองรันโค้ด:

scone
self-raising flour 350g
baking powder 1 tbsp
butter 85g
caster sugar 3 tbsp
milk 175ml
egg 1 whole

โค้ดทำงานสำเร็จ พิมพ์เนื้อหาของ "recipes" dictionary และ "scone" dictionary

สรุป

คุณสามารถพิมพ์ dictionary ใน Python ได้ทั้งด้วย for loops และ json module วิธี for loop เหมาะหากต้องการแสดงเนื้อหา dictionary บน console ส่วน json module เหมาะสำหรับกรณีใช้งานของนักพัฒนา

ทั้งสองวิธีใช้พิมพ์ nested dictionary ได้เช่นกัน

ตอนนี้คุณพร้อมพิมพ์ dictionary ไปที่ Python console อย่างนักพัฒนาซอฟต์แวร์แล้ว!