Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python: Cách in từ điển (Dictionary) ra console

Từ điển (Dictionary) lưu trữ dữ liệu theo cặp khóa-giá trị (key-value pairs). Điều này có nghĩa là mỗi giá trị trong từ điển liên kết với một khóa. Khóa này đóng vai trò điểm tham chiếu.

Nếu bạn muốn xem nội dung từ điển trên console, có vài cách tiếp cận. Bạn có thể in trực tiếp từ điển, hoặc in từng cặp khóa-giá trị riêng lẻ.

Trong hướng dẫn này, chúng ta thảo luận cách in từ điển trong Python. Chúng ta đi qua vài ví dụ để giúp bạn tìm ra cách in từ điển trong mã.

Python: In từ điển dùng vòng lặp for

Chúng ta xây dựng chương trình in nội dung từ điển cho người nấu bánh đọc. Từ điển chứa tên nguyên liệu và lượng cần thiết để nấu lô bánh scone.

Tạo từ điển thông tin công thức:

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

Từ điển chứa sáu khóa và giá trị. Mỗi khóa đại diện tên nguyên liệu và mỗi giá trị cho lượng nguyên liệu đó cần để nấu lô bánh scone.

Tiếp theo, dùng vòng lặp for in nội dung từ điển. Làm được bằng phương thức items() như sau:

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

Chạy mã:

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

Mã in thành công tất cả khóa và giá trị. Phương thức items() trả về hai danh sách: tất cả khóa và tất cả giá trị. Mỗi lần lặp, truy xuất cặp khóa-giá trị mới.

Trong lần lặp đầu, "value" là "350g" và "key" là "self-raising flour". Vòng lặp for tiếp tục lặp cho đến khi mọi cặp khóa-giá trị được in.

Python: In từ điển dùng module json

Trong ví dụ trước, in từ điển thủ công dùng vòng lặp. Lý tưởng cho trường hợp trước vì muốn danh sách nguyên liệu dễ đọc cho người nấu.

Module json cho phép làm việc với từ điển. Phương thức json.dumps làm từ điển dễ đọc cho lập trình viên. Lý tưởng cho dev muốn xem giá trị trong từ điển trên console.

Chúng ta điều chỉnh chương trình trước để dùng module json in từ điển.

Đầu tiên, import module json để làm việc trong mã:

import json

Tiếp theo, định nghĩa từ điển:

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

Từ điển này giống ví dụ trước. Bước tiếp theo dùng module json in từ điển ra console. Dùng phương thức json.dumps định dạng từ điển:

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

Chỉ định hai tham số khi gọi json.dumps(): tên từ điển muốn định dạng và số khoảng trắng mỗi thụt lề. Ở ví dụ này, mỗi thụt lề dài 4 khoảng trắng.

Tiếp theo, dùng print() xem từ điển đã định dạng. Thực thi:

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

Mã hiển thị danh sách nguyên liệu.

Python: In từ điển lồng nhau (Nested Dictionary)

"Nested dictionary" là cách nói khác của "một từ điển trong từ điển".

Bạn có thể in từ điển lồng nhau dùng json.dumps() và print(), hoặc dùng vòng lặp for. Phương pháp for tương tự ví dụ trước nhưng cần thay đổi chút.

Giả sử nguyên liệu trong từ điển bên trong từ điển:

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

Để truy xuất mục trong "scone", cần tham chiếu khóa "scone" trước. Để in từ điển ra console, dùng hai vòng lặp for:

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

Vòng lặp đầu lặp qua "recipes". Vòng lặp thứ hai lặp qua từng từ điển trong "recipes". Chạy mã:

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

Mã in thành công nội dung "recipes" và "scone".

Kết luận

Bạn có thể in từ điển Python dùng vòng lặp for hoặc module json. Cách for tốt nếu muốn hiển thị nội dung từ điển ra console, trong khi json phù hợp hơn cho trường hợp dev.

Bạn có thể dùng cả hai phương pháp in từ điển lồng nhau ra console.

Bây giờ bạn đã sẵn sàng in từ điển ra console Python như dev chuyên nghiệp!