Khi lập trình Python, điểm mình không thích nhất là hàm print mặc định của Python, với dữ liệu kiểu dictionary, nó lại hiển thị trên 1 dòng làm cho việc debug rất khó khăn, rất khó xác định cấu trúc key-value cảu 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
Có 3 cách được mình tổng hợp trong bài viêt này, các bạn có thể tham khảo. Ngoài ra các bạn còn biết thêm cách nào nữa thì vui lòng để lại comment nhé!
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
Để hiểu về YAML và cài đặt với Python, các bạn vui lòng đọc bài viết sau: YAML là gì? Cách đọc file yaml trong lập trình Python
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ả:
Tuy không đẹp mắt so với 2 cách trên, nhưng cũng đã dễ nhìn hơn nhiều rồi đúng không?
Nguồn: vinasupport.com