Từ điển Python in đẹp

Trong Python, bạn có thể in đẹp các đối tượng như danh sách

print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
8 và từ điển
print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
9 bằng mô-đun pprint

  • pprint — Máy in đẹp dữ liệu — Python 3. 9. 7 tài liệu

Bài viết này mô tả các nội dung sau

  • Cách sử dụng cơ bản của pprint
  • Chỉ định chiều rộng đầu ra (số ký tự).
    pprint.pprint(l)
    # [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
    #  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
    #  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
    
    0
  • Chỉ định độ sâu đầu ra.
    pprint.pprint(l)
    # [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
    #  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
    #  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
    
    1
  • Chỉ định chiều rộng thụt lề.
    pprint.pprint(l)
    # [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
    #  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
    #  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
    
    2
  • Giảm ngắt dòng.
    pprint.pprint(l)
    # [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
    #  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
    #  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
    
    3
  • Chuyển đổi thành chuỗi.
    pprint.pprint(l)
    # [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
    #  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
    #  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
    
    4
  • Thí dụ. Khá-in một danh sách các danh sách

Mô-đun textwrap rất hữu ích để ngắt hoặc cắt bớt các chuỗi dài thay vì danh sách hoặc từ điển. Xem bài viết sau

  • Bọc và cắt bớt một chuỗi bằng textwrap trong Python

Trong mã mẫu, mô-đun pprint được nhập như sau và danh sách từ điển được sử dụng làm ví dụ. Module pprint đã có trong thư viện chuẩn nên không cần cài đặt thêm

import pprint

l = [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, 
     {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]},
     {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]

nguồn. pprint_example. py

Liên kết được tài trợ

Cách sử dụng cơ bản của pprint

Hàm

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
5 bình thường in ra các thành phần của danh sách hoặc từ điển trên một dòng mà không có bất kỳ ngắt dòng nào

print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]

nguồn. pprint_example. py

Với

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
6, mỗi phần tử của danh sách sẽ được chia thành một dòng mới như hình bên dưới, giúp bạn dễ đọc hơn

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]

nguồn. pprint_example. py

Vị trí ngắt dòng được xác định bởi cài đặt đối số được mô tả bên dưới

Lưu ý rằng, như trong ví dụ trên, các phần tử của từ điển được sắp xếp theo thứ tự của các khóa. Nếu tham số

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
7, được thêm vào trong Python 3. 8, được đặt thành
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
8 (mặc định.
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
9), thứ tự của các từ điển được giữ nguyên, nhưng trong các phiên bản trước, chúng luôn được sắp xếp

Nếu bạn muốn chuyển đổi nó thành chuỗi

print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
50 thay vì xuất nó, hãy sử dụng
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
4 được mô tả bên dưới

Chỉ định chiều rộng đầu ra (số ký tự). pprint.pprint(l) # [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]}, # {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]}, # {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}] 0

Độ rộng đầu ra (số lượng ký tự) có thể được chỉ định bằng

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
0

Dòng bị ngắt để vừa với số lượng ký tự được chỉ định. Giá trị mặc định là

print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
54

print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
5

nguồn. pprint_example. py

Nếu

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
0 lớn, không có dòng mới nào được chèn và đầu ra giống như
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
5

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
3

nguồn. pprint_example. py

Một dòng bị ngắt tại một phần tử của danh sách hoặc từ điển, không phải giữa

print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
57 và
print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
58 của từ điển, cũng không phải ở giữa một số. Do đó, không phải lúc nào nó cũng vừa với chiều rộng của số ký tự được chỉ định bởi
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
0

Lưu ý rằng các chuỗi có thể được chia thành một dòng mới cho mỗi từ

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
7

nguồn. pprint_example. py

Chỉ định độ sâu đầu ra. pprint.pprint(l) # [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]}, # {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]}, # {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}] 1

Độ sâu đầu ra có thể được chỉ định với

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
1. Độ sâu ở đây có nghĩa là độ sâu của lồng

Các phần tử được lồng sâu hơn giá trị đã chỉ định được in bằng dấu chấm lửng

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
32

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
1

nguồn. pprint_example. py

Giá trị mặc định là

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
33 và tất cả các phần tử đều được xuất

Bạn có thể chỉ định cả

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
0 và
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
1 cùng một lúc.
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
1 chỉ định độ sâu của cấu trúc dữ liệu, không phải số dòng. Vị trí ngắt dòng phụ thuộc vào số lượng ký tự được chỉ định bởi
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
0

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
7

nguồn. pprint_example. py

Chỉ định chiều rộng thụt lề. pprint.pprint(l) # [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]}, # {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]}, # {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}] 2

Chiều rộng thụt lề có thể được chỉ định bằng

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
2. Giá trị mặc định là
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
70

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
1

nguồn. pprint_example. py

Liên kết được tài trợ

Giảm ngắt dòng. pprint.pprint(l) # [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]}, # {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]}, # {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}] 3

Theo mặc định, tất cả các thành phần của danh sách hoặc từ điển ngắt dòng nếu chúng không vừa với

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
0

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
4

nguồn. pprint_example. py

Nếu

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
3 được đặt thành
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
9, các phần tử khớp với
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
0 sẽ được in trên một dòng. Tốt hơn là sử dụng
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
76 cho các danh sách có nhiều phần tử

print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
0

nguồn. pprint_example. py

Lưu ý rằng

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
3 đã được thêm vào Python
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
78, vì vậy nó không thể được sử dụng trong các phiên bản trước

Chuyển đổi thành chuỗi. pprint.pprint(l) # [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]}, # {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]}, # {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}] 4

Từ điển và danh sách có thể được chuyển đổi thành chuỗi với

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
10. Trong trường hợp này, chúng được chuyển đổi thành chuỗi một dòng không có dòng mới, như trong kết quả của
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
5

print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
1

nguồn. pprint_example. py

Bạn có thể sử dụng

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
4 để lấy đầu ra của
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
6 dưới dạng chuỗi
print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
50

print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
2

nguồn. pprint_example. py

Các tham số của

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
4 giống với
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
6

print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
3

nguồn. pprint_example. py

Thí dụ. Khá-in một danh sách các danh sách

Một danh sách các danh sách khó đọc với

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
5, vì vậy hãy sử dụng
pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
6

print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
4

nguồn. pprint_example. py

Như đã đề cập ở trên, nơi bắt đầu một dòng mới được xác định bởi số lượng ký tự được chỉ định bởi

pprint.pprint(l)
# [{'Age': 40, 'Name': 'Alice XXX', 'Points': [80, 20]},
#  {'Age': 20, 'Name': 'Bob YYY', 'Points': [90, 10]},
#  {'Age': 30, 'Name': 'Charlie ZZZ', 'Points': [70, 30]}]
0

Nếu số lượng phần tử nhỏ, nó phù hợp với chiều rộng đầu ra mặc định

print(l)
# [{'Name': 'Alice XXX', 'Age': 40, 'Points': [80, 20]}, {'Name': 'Bob YYY', 'Age': 20, 'Points': [90, 10]}, {'Name': 'Charlie ZZZ', 'Age': 30, 'Points': [70, 30]}]
54, do đó không có ngắt dòng

Tôi có thể in từ điển bằng Python không?

Bạn có thể in từ điển bằng Python bằng vòng lặp for hoặc mô-đun json . Cách tiếp cận vòng lặp for là tốt nhất nếu bạn muốn hiển thị nội dung của từ điển lên bảng điều khiển trong khi cách tiếp cận mô-đun json phù hợp hơn cho các trường hợp sử dụng của nhà phát triển.

Sự khác biệt giữa in và Pprint trong Python là gì?

Mục đích rất đơn giản, nó dùng để in bất cứ thứ gì trong python. hàm pprint() cũng có chức năng tương tự. Nhưng điểm khác biệt duy nhất là cách nó in các cấu trúc dữ liệu phức tạp . Hàm print() bình thường in toàn bộ nội dung trong một dòng.