Hướng dẫn python print dictionary in columns - từ điển in python trong các cột

Tôi cần in một từ điển chứa các giá trị

freqs = {',': 1, '8': 3, '0': 3, '6': 1, '7': 2, '!': 1, '+': 2, '#': 8, '%': 4, '.': 1, '&': 7, '/': 1, '1': 3, ')': 2, '"': 1, '-': 2, '3': 6, '5': 1, '$': 1, '2': 2, '*': 4, '4': 2, "'": 1, '9': 1, ':': 1}

Đây là một từ điển hiển thị một ký tự và số lần nó xuất hiện trong một chuỗi. Tôi muốn hiển thị nó cho người dùng trong hai cột như vậy:

, (TAB) 1

8 (TAB) 3

0 (TAB) 3

etc..

Bất kì sự trợ giúp nào đều được đánh giá cao :)

Trong bài viết này, chúng tôi sẽ thảo luận về các cách khác nhau để in từng dòng các nội dung của từ điển hoặc từ điển lồng nhau trong Python.

Vì từ điển chứa các mục dưới dạng các cặp giá trị khóa.

# A dictionary of student names and their score
student_score = {   'Ritika': 5,
                    'Sam': 7, 
                    'John': 10, 
                    'Aadi': 8}

Bây giờ để in từ điển này, chúng tôi trực tiếp vượt qua nó trong hàm in, tức là.

print(student_score)

đầu ra sẽ như thế nào,

{'Ritika': 5, 'Sam': 7, 'John': 10, 'Aadi': 8}

Mặc dù nó đã in nội dung của từ điển, tất cả các cặp giá trị khóa được in trong một dòng. & Nbsp; nếu chúng ta có từ điển lớn, thì chúng ta có thể khó hiểu nội dung. Do đó, chúng ta nên in một dòng từ điển từng dòng. Hãy để xem cách làm điều đó,

Quảng cáo

In một dòng từ điển theo dòng sử dụng cho Loop & dict.items ()

Dict.Items () Trả về một đối tượng Chế độ xem có thể lặp lại của từ điển mà chúng ta có thể sử dụng để lặp lại nội dung của từ điển, tức là các cặp giá trị khóa trong từ điển và in chúng theo dòng, tức là.

# A dictionary of student names and their score
student_score = {   'Ritika': 5,
                    'Sam': 7, 
                    'John': 10, 
                    'Aadi': 8}

# Iterate over key/value pairs in dict and print them
for key, value in student_score.items():
    print(key, ' : ', value)

Output:

Ritika  :  5
Sam  :  7
John  :  10
Aadi  :  8

Cách tiếp cận này cho phép chúng tôi kiểm soát hoàn toàn đối với từng cặp giá trị khóa trong từ điển. Chúng tôi đã in từng cặp giá trị khóa trong một dòng riêng biệt.

Các câu hỏi thường gặp

Làm thế nào để in tất cả các phím của từ điển Python?

Làm thế nào để in tất cả các giá trị của từ điển Python?

Làm thế nào để in tất cả các cặp giá trị khóa của từ điển Python?

Làm thế nào để in đẹp từ điển lồng nhau trong Python?

Tất cả những gì bạn cần biết về từ điển

In một dòng từ điển theo dòng bằng cách lặp qua các phím

Chúng ta có thể lặp lại các khóa của một từ điển từng cái một, sau đó cho mỗi khóa truy cập giá trị của nó và in theo một dòng riêng biệt, tức là.

# A dictionary of student names and their score
student_score = {   'Ritika': 5,
                    'Sam': 7, 
                    'John': 10, 
                    'Aadi': 8}

# Iterate over the keys in dictionary, access value & print line by line
for key in student_score:
    print(key, ' : ', student_score[key])

Output:

Ritika  :  5
Sam  :  7
John  :  10
Aadi  :  8

Mặc dù theo cách tiếp cận này, chúng tôi đã in tất cả các cặp giá trị khóa từng dòng, đây không phải là phương thức & nbsp; hiệu quả so với phương pháp trước vì để truy cập một cặp giá trị khóa, chúng tôi đang thực hiện hai thao tác.

In một dòng từ điển từng dòng bằng cách sử dụng danh sách hiểu

Trong một dòng duy nhất bằng cách sử dụng danh sách hiểu & dict.items (), chúng ta có thể in nội dung của một dòng từ điển theo dòng, tức là.

# A dictionary of student names and their score
student_score = {   'Ritika': 5,
                    'Sam': 7, 
                    'John': 10, 
                    'Aadi': 8}

# Iterate over the key-value pairs of a dictionary 
# using list comprehension and print them
[print(key,':',value) for key, value in student_score.items()]

Output:

, (TAB) 1

8 (TAB) 3

0 (TAB) 3
0

Tìm hiểu thêm về từ điển Python

  • Từ điển trong Python là gì? Tại sao chúng ta cần nó?
  • 6 cách khác nhau để tạo từ điển trong Python
  • Làm thế nào để lặp lại từ điển trong Python.
  • Kiểm tra xem một khóa có tồn tại trong từ điển không
  • Làm thế nào để có được tất cả các khóa trong từ điển làm danh sách?

  • Làm thế nào để lặp lại từ điển với chỉ mục?
  • Làm thế nào để loại bỏ một khóa khỏi từ điển?
  • Cách tìm khóa theo giá trị trong từ điển
  • Làm thế nào để lọc từ điển theo điều kiện?
  • Làm thế nào để có được tất cả các giá trị trong một từ điển?

In một dòng từ điển từng dòng bằng json.dumps ()

Trong Python, mô-đun JSON cung cấp một hàm json.dumps () để tuần tự hóa đối tượng truyền cho một json như chuỗi. & Nbsp; chúng ta có thể chuyển từ điển trong json.dumps () trong một dòng riêng biệt. Sau đó, chúng ta có thể in chuỗi đó,

, (TAB) 1

8 (TAB) 3

0 (TAB) 3
1

Đầu ra

, (TAB) 1

8 (TAB) 3

0 (TAB) 3
2

Chúng tôi đã vượt qua đối tượng từ điển và số lượng không gian thụt vào json.dumps (). Nó đã trả lại một chuỗi giống như chuỗi định dạng. Hãy nhớ nhập mô -đun JSON cho phương pháp này.

Bây giờ, điều gì sẽ xảy ra nếu chúng ta có một từ điển Python lồng nhau?

In từ điển lồng nhau từng dòng trong Python

Giả sử chúng ta có một từ điển lồng nhau có chứa tên sinh viên là khóa và đối với các giá trị, nó bao gồm một từ điển khác của chủ đề và điểm số của họ & nbsp; trong các chủ đề tương ứng, tức là.

, (TAB) 1

8 (TAB) 3

0 (TAB) 3
3

Nếu in từ điển này bằng cách chuyển nó đến hàm in (),

print(student_score)

Sau đó đầu ra sẽ như thế nào,

, (TAB) 1

8 (TAB) 3

0 (TAB) 3
5

Nó in tất cả các nội dung trong một dòng duy nhất. Do đó, thật khó để hiểu nội dung. & NBSP; Bây giờ để in nội dung của một dòng từ điển lồng nhau theo dòng, chúng ta cần phải thực hiện lặp lại gấp đôi, tức là.

, (TAB) 1

8 (TAB) 3

0 (TAB) 3
6

Output:

, (TAB) 1

8 (TAB) 3

0 (TAB) 3
7

Trước tiên chúng tôi lặp lại các mục, tức là các cặp khóa/giá trị của từ điển và cho mỗi cặp đã in khóa. Vì trường giá trị là một từ điển khác, & nbsp; vì vậy chúng tôi một lần nữa lặp lại các cặp giá trị khóa trong từ điển này và in nội dung của nó, tức là các cặp khóa/giá trị trong các dòng riêng biệt.

In từ điển lồng nhau từng dòng bằng json.dumps ()

Chúng ta có thể làm điều này trong một dòng duy nhất bằng cách sử dụng hàm Dumps () của mô -đun JSON, tức là.

, (TAB) 1

8 (TAB) 3

0 (TAB) 3
8

Output:

, (TAB) 1

8 (TAB) 3

0 (TAB) 3
9