Xin chào, tôi mới đến Python và tôi đang đấu tranh về cách in từ điển.
Tôi có một từ điển như hình dưới đây.
dictionary = {a:1,b:1,c:2}
Làm thế nào tôi có thể in từ điển trong một dòng như hình dưới đây?
a1b1c2
Tôi muốn in các khóa và giá trị trong một dòng nhưng không thể tự mình tìm ra.
Tôi đánh giá cao lời khuyên của bạn!
Hỏi ngày 19 tháng 9 năm 2016 lúc 16:45Sep 19, 2016 at 16:45
6
Với một từ điển, ví dụ:
dictionary = {'a':1,'b':1,'c':2}
Bạn có thể thử:
print ''.join[['{0}{1}'.format[k, v] for k,v in dictionary.iteritems[]]]
Dẫn đến
a1c2b1
Nếu đặt hàng có vấn đề, hãy thử sử dụng đơn đặt hàng, như được mô tả bởi bài đăng này.
Đã trả lời ngày 19 tháng 9 năm 2016 lúc 16:51Sep 19, 2016 at 16:51
PYNOOBPYNOOBPyNoob
1.1761 Huy hiệu vàng8 Huy hiệu bạc23 Huy hiệu đồng1 gold badge8 silver badges23 bronze badges
1
Nếu bạn muốn một chuỗi chứa câu trả lời, bạn có thể làm điều này:
>>> dictionary = {'a':1,'b':1,'c':2}
>>> result = "".join[str[key] + str[value] for key, value in dictionary.items[]]
>>> print[result]
c2b1a1
Điều này sử dụng phương thức tham gia trên một chuỗi trống. Dict's không được đặt hàng, vì vậy thứ tự của đầu ra có thể khác nhau.
Cập nhật - Sử dụng F -Strings, bạn cũng có thể làm điều này:
>>> result = "".join[f"{key}{value}" for key, value in dictionary.items[]]
Đã trả lời ngày 19 tháng 9 năm 2016 lúc 16:53Sep 19, 2016 at 16:53
Brad Campbellbrad CampbellBrad Campbell
2.8302 huy hiệu vàng21 Huy hiệu bạc21 Huy hiệu đồng2 gold badges21 silver badges21 bronze badges
1
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:
a1b1c2
0Cá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à.
a1b1c2
1Output:
a1b1c2
0Mặ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à.
a1b1c2
3Output:
a1b1c2
4Tì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 đó,
a1b1c2
5Đầu ra
a1b1c2
6Chú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à.
a1b1c2
7Nế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,
a1b1c2
9Nó 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à.
dictionary = {'a':1,'b':1,'c':2}
0Output:
dictionary = {'a':1,'b':1,'c':2}
1Trướ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à.
dictionary = {'a':1,'b':1,'c':2}
2Output:
dictionary = {'a':1,'b':1,'c':2}
3