Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Print dữ liệu kiểu dictionary để dễ nhìn đẹp mắt hơn trong Python 3 - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Trong lập trình Python, điều mà tôi không thích nhất là cách hàm print mặc định của Python xử lý dữ liệu kiểu từ điển (dictionary). Hàm print này xuất dữ liệu dictionary trên cùng một dòng, và điều này gây khó khăn trong việc debug và xác định cấu trúc key-value của một biến dictionary.

VD: mình có một biến dictionary có cấu trúc như sau:

my_dict = {
    'name': 'Nguyen Van A',
    'age': 18,
    'groups': ['admin', 'user'],
    'website': {
        'name': 'VinaSupport',
        'url': 'https://vinasupport.com'
    }
}

Kết quả hiển thị sau khi sử dụng hàm print(my_dict) mặc định của Python 3:

Như ta thấy dữ print ra hiển thi trên 1 dòng rất khó xác định được kiểu cấu trúc key-value. Vì vậy hãy tham khảo những cách dưới đây để có thể print dữ liệu dễ nhìn hơn.

Cách hiển thị dữ liệu kiểu dictionary

Trong bài viết này, tôi đã tổng hợp 3 phương pháp, mời bạn tham khảo. Nếu bạn có bất kỳ cách nào khác, xin vui lòng chia sẻ bằng cách để lại bình luận!

1. Sử dụng json.dump

import json

my_dict = {
    'name': 'Nguyen Van A',
    'age': 18,
    'groups': ['admin', 'user'],
    'website': {
        'name': 'VinaSupport',
        'url': 'https://vinasupport.com'
    }
}

print(json.dumps(my_dict, indent=4))

Kết quả đã dễ nhìn hơn rất nhiều.

2. Sử dụng thư viện PyYAML

Giờ thử đoạn code bên dưới:

import yaml

my_dict = {
    'name': 'Nguyen Van A',
    'age': 18,
    'groups': ['admin', 'user'],
    'website': {
        'name': 'VinaSupport',
        'url': 'https://vinasupport.com'
    }
}

print(yaml.dump(my_dict, default_flow_style=False))

Kết quả dữ liệu được hiển thị theo kiểu YAML

3. Sử dụng pprint

Chúng ta có thể sử dụng 1 module của Python 3 là pprint

import pprint

my_dict = {
    'name': 'Nguyen Van A',
    'age': 18,
    'groups': ['admin', 'user'],
    'website': {
        'name': 'VinaSupport',
        'url': 'https://vinasupport.com'
    }
}

pprint.pprint(my_dict, width=1)

Kết quả:

Mặc dù không có vẻ đẹp bằng hai phong cách trước, nhưng cách này đã dễ nhìn hơn nhiều, phải không?

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *