Làm cách nào để hiển thị từ điển dưới dạng danh sách trong Python?

Bản tóm tắt. Để chuyển đổi một từ điển thành một danh sách các bộ dữ liệu, hãy sử dụng phương thức dict.items() để lấy một cặp có thể lặp lại của

[('Alice', 19), ('Bob', 23), ('Carl', 47)]
0 và chuyển đổi nó thành một danh sách bằng cách sử dụng hàm tạo
[('Alice', 19), ('Bob', 23), ('Carl', 47)]
1.
[('Alice', 19), ('Bob', 23), ('Carl', 47)]
2. Để sửa đổi từng cặp giá trị khóa trước khi lưu trữ nó trong danh sách, bạn có thể sử dụng câu lệnh hiểu danh sách
[('Alice', 19), ('Bob', 23), ('Carl', 47)]
3 thay thế
[('Alice', 19), ('Bob', 23), ('Carl', 47)]
4 và
[('Alice', 19), ('Bob', 23), ('Carl', 47)]
5 bằng các sửa đổi cụ thể của bạn

Trong các dự án viết mã của mình, tôi thường thấy rằng việc chọn cấu trúc dữ liệu phù hợp là điều kiện tiên quyết quan trọng để viết mã rõ ràng và hiệu quả. Trong bài viết này, bạn sẽ tìm hiểu cách Pythonic nhất để chuyển từ điển thành danh sách

Dict to List — Cách chuyển từ điển thành danh sách trong Python

Làm cách nào để hiển thị từ điển dưới dạng danh sách trong Python?

Xem video này trên YouTube

Vấn đề. Đưa ra một từ điển gồm _______ 6 cặp. Chuyển đổi nó thành danh sách các bộ dữ liệu

[('Alice', 19), ('Bob', 23), ('Carl', 47)]
0

Ví dụ. Cho từ điển sau

________số 8_______

Bạn muốn chuyển đổi nó thành danh sách các bộ dữ liệu

[('Alice', 19), ('Bob', 23), ('Carl', 47)]
0

[('Alice', 19), ('Bob', 23), ('Carl', 47)]

Bạn có thể xem tổng quan nhanh về các phương pháp được kiểm tra trong bài viết này tiếp theo

Bài tập. Thay đổi cấu trúc dữ liệu của các thành phần từ điển. Nó vẫn hoạt động?

Hãy đi sâu vào các phương pháp

Phương pháp 1. Danh sách Tuples với dict. mục() + danh sách()

Làm cách nào để hiển thị từ điển dưới dạng danh sách trong Python?

Cách tiếp cận đầu tiên sử dụng phương thức từ điển

[('Alice', 19), ('Bob', 23), ('Carl', 47)]
9 để truy xuất một bộ dữ liệu có thể lặp lại của
[('Alice', 19), ('Bob', 23), ('Carl', 47)]
0. Điều duy nhất còn lại là chuyển đổi nó thành một danh sách bằng cách sử dụng hàm tạo
d = {'Alice': 19, 'Bob': 23, 'Carl': 47}

# Method 1
t = list(d.items())
print(t)
# [('Alice', 19), ('Bob', 23), ('Carl', 47)]
1 tích hợp sẵn

d = {'Alice': 19, 'Bob': 23, 'Carl': 47}

# Method 1
t = list(d.items())
print(t)
# [('Alice', 19), ('Bob', 23), ('Carl', 47)]

Biến

d = {'Alice': 19, 'Bob': 23, 'Carl': 47}

# Method 1
t = list(d.items())
print(t)
# [('Alice', 19), ('Bob', 23), ('Carl', 47)]
2 hiện có danh sách các bộ dữ liệu
[('Alice', 19), ('Bob', 23), ('Carl', 47)]
0. Lưu ý rằng trong nhiều trường hợp, không cần thiết phải thực sự chuyển đổi nó thành danh sách và do đó, khởi tạo cấu trúc dữ liệu trong bộ nhớ

Ví dụ: nếu bạn muốn lặp qua tất cả các cặp

[('Alice', 19), ('Bob', 23), ('Carl', 47)]
0 trong từ điển, bạn có thể thực hiện mà không cần chuyển đổi

for k,v in d.items():
    s = str(k) + '->' + str(v)
    print(s)
'''
Alice->19
Bob->23
Carl->47
'''

Sử dụng phương thức

d = {'Alice': 19, 'Bob': 23, 'Carl': 47}

# Method 1
t = list(d.items())
print(t)
# [('Alice', 19), ('Bob', 23), ('Carl', 47)]
5 trên đối tượng từ điển là cách Pythonic nhất nếu mọi thứ bạn muốn là truy xuất danh sách các cặp
[('Alice', 19), ('Bob', 23), ('Carl', 47)]
0. Tuy nhiên, điều gì sẽ xảy ra nếu bạn muốn nhận danh sách các khóa—hiện tại bỏ qua các giá trị?

Phương pháp 2. Danh sách các phím với dict. phím()

Để lấy danh sách các giá trị chính, hãy sử dụng phương thức

d = {'Alice': 19, 'Bob': 23, 'Carl': 47}

# Method 1
t = list(d.items())
print(t)
# [('Alice', 19), ('Bob', 23), ('Carl', 47)]
7 và chuyển kết quả có thể lặp lại vào hàm tạo
d = {'Alice': 19, 'Bob': 23, 'Carl': 47}

# Method 1
t = list(d.items())
print(t)
# [('Alice', 19), ('Bob', 23), ('Carl', 47)]
8

d = {'Alice': 19, 'Bob': 23, 'Carl': 47}

# Method 2
t = list(d.keys())
print(t)
# ['Alice', 'Bob', 'Carl']

Tương tự, bạn có thể muốn lấy một danh sách các giá trị

Phương pháp 3. Danh sách các giá trị với dict. giá trị()

Để lấy danh sách các giá trị chính, hãy sử dụng phương thức

d = {'Alice': 19, 'Bob': 23, 'Carl': 47}

# Method 1
t = list(d.items())
print(t)
# [('Alice', 19), ('Bob', 23), ('Carl', 47)]
9 và chuyển kết quả có thể lặp lại vào hàm tạo
d = {'Alice': 19, 'Bob': 23, 'Carl': 47}

# Method 1
t = list(d.items())
print(t)
# [('Alice', 19), ('Bob', 23), ('Carl', 47)]
8

d = {'Alice': 19, 'Bob': 23, 'Carl': 47}

# Method 3
t = list(d.values())
print(t)
# [19, 23, 47]

Nhưng nếu bạn muốn sửa đổi từng bộ

[('Alice', 19), ('Bob', 23), ('Carl', 47)]
0 thì sao?

Phương pháp 4. Danh sách hiểu với dict. mặt hàng()

Hiểu danh sách là một cách nhỏ gọn để tạo danh sách. Công thức đơn giản là

for k,v in d.items():
    s = str(k) + '->' + str(v)
    print(s)
'''
Alice->19
Bob->23
Carl->47
'''
2

  • Sự biểu lộ. Phải làm gì với từng phần tử danh sách?
  • Bối cảnh. Những yếu tố để lựa chọn?

Bạn có thể sử dụng khả năng hiểu danh sách để sửa đổi từng cặp

[('Alice', 19), ('Bob', 23), ('Carl', 47)]
0 từ từ điển gốc trước khi lưu kết quả vào danh sách mới

d = {'Alice': 19, 'Bob': 23, 'Carl': 47}

# Method 4
t = [(k[:3], v-1) for k, v in d.items()]
print(t)
# [('Ali', 18), ('Bob', 22), ('Car', 46)]

Bạn chuyển đổi từng khóa thành một chuỗi có ba ký tự bằng cách cắt và giảm từng giá trị một

Phương pháp 5. zip() với dict. keys() và dict. giá trị()

Để dễ hiểu, về mặt lý thuyết, bạn có thể (về mặt lý thuyết) sử dụng hàm

for k,v in d.items():
    s = str(k) + '->' + str(v)
    print(s)
'''
Alice->19
Bob->23
Carl->47
'''
6 để tạo danh sách các bộ dữ liệu

d = {'Alice': 19, 'Bob': 23, 'Carl': 47}

# Method 5
t = list(zip(d.keys(), d.values()))
print(t)
# [('Alice', 19), ('Bob', 23), ('Carl', 47)]

Tuy nhiên, không có lợi ích gì so với việc chỉ sử dụng phương pháp dict.items(). Tuy nhiên, tôi muốn cho bạn thấy điều này vì hàm

for k,v in d.items():
    s = str(k) + '->' + str(v)
    print(s)
'''
Alice->19
Bob->23
Carl->47
'''
8 thường được sử dụng trong Python và điều quan trọng là bạn phải hiểu nó

Phương pháp 6. vòng lặp cơ bản

Phương thức cuối cùng sử dụng vòng lặp for cơ bản—không phải là cách tồi tệ nhất để thực hiện. Chắc chắn rồi, một chuyên gia Python sẽ sử dụng những cách Pythonic nhất mà tôi đã chỉ cho bạn ở trên. Nhưng sử dụng vòng lặp for cơ bản đôi khi lại tốt hơn—đặc biệt nếu bạn muốn có thể tùy chỉnh mã sau này (e. g. , làm tăng độ phức tạp của thân vòng lặp)

d = {'Alice': 19, 'Bob': 23, 'Carl': 47}

# Method 6
t = []
for k, v in d.items():
    t.append((k,v))
print(t)
# [('Alice', 19), ('Bob', 23), ('Carl', 47)]

Câu lệnh hiểu danh sách hoặc vòng lặp một dòng không phải là cách Pythonic nhất để chuyển đổi từ điển thành danh sách Python nếu bạn muốn sửa đổi từng thành phần danh sách mới bằng cách sử dụng biểu thức nội dung phức tạp hơn. Trong trường hợp này, vòng lặp đơn giản là lựa chọn tốt nhất của bạn

Những bài viết liên quan

  • Chuyển đổi danh sách sang Dict
  • Làm cách nào để chuyển đổi danh sách danh sách thành từ điển trong Python?
  • Hướng dẫn Cơ bản về Từ điển
  • Hướng dẫn cơ bản về danh sách

lập trình viên

❓ Câu hỏi. Tại sao các lập trình viên luôn trộn lẫn Halloween và Giáng sinh?
❗ Trả lời. Vì ngày 31 tháng 10 bằng ngày 25 tháng 12

(Nếu bạn không hiểu điều này, hãy đọc các bài viết của chúng tôi về các hàm tích hợp sẵn của Python. )

Đi đâu từ đây?

Đủ lý thuyết. Hãy thực hành một số

Các lập trình viên được trả sáu con số trở lên vì họ có thể giải quyết vấn đề hiệu quả hơn bằng cách sử dụng trí thông minh máy móc và tự động hóa

Để trở nên thành công hơn trong việc viết mã, hãy giải quyết nhiều vấn đề thực tế hơn cho người thực. Đó là cách bạn trau dồi những kỹ năng bạn thực sự cần trong thực tế. Rốt cuộc, việc sử dụng lý thuyết học tập mà không ai cần là gì?

Bạn xây dựng các kỹ năng mã hóa có giá trị cao bằng cách làm việc trên các dự án mã hóa thực tế

Bạn có muốn ngừng học với các dự án đồ chơi và tập trung vào các dự án mã thực tế giúp bạn kiếm tiền và giải quyết các vấn đề thực sự cho mọi người không?

🚀 Nếu câu trả lời của bạn là CÓ. , cân nhắc trở thành nhà phát triển Python tự do. Đó là cách tốt nhất để tiếp cận nhiệm vụ cải thiện kỹ năng Python của bạn—ngay cả khi bạn là người mới hoàn toàn

Nếu bạn chỉ muốn tìm hiểu về cơ hội làm việc tự do, vui lòng xem hội thảo trên web miễn phí của tôi “Cách xây dựng kỹ năng Python có thu nhập cao của bạn” và tìm hiểu cách tôi phát triển công việc viết mã của mình trực tuyến cũng như cách bạn có thể làm được—từ sự thoải mái của bạn

Tham gia hội thảo trên web miễn phí ngay bây giờ

Làm cách nào để hiển thị từ điển dưới dạng danh sách trong Python?

Chris

Trong khi làm việc với tư cách là một nhà nghiên cứu trong các hệ thống phân tán, Dr. Christian Mayer tìm thấy tình yêu của mình với việc dạy sinh viên khoa học máy tính

Để giúp sinh viên đạt được mức độ thành công Python cao hơn, anh ấy đã thành lập trang web giáo dục lập trình Finxter. com. Ông là tác giả của cuốn sách lập trình nổi tiếng Python One-Liners (NoStarch 2020), đồng tác giả của loạt sách tự xuất bản Coffee Break Python, người đam mê khoa học máy tính, cộng tác viên tự do và chủ sở hữu của một trong 10 blog Python lớn nhất thế giới

Niềm đam mê của anh ấy là viết, đọc và mã hóa. Nhưng niềm đam mê lớn nhất của anh ấy là phục vụ các lập trình viên đầy tham vọng thông qua Finxter và giúp họ nâng cao kỹ năng của mình. Bạn có thể tham gia học viện email miễn phí của anh ấy tại đây

Làm cách nào để chuyển từ điển thành danh sách?

Bản tóm tắt. Để chuyển đổi một từ điển thành một danh sách các bộ dữ liệu, hãy sử dụng lệnh dict. items() để có được một cặp (key, value) có thể lặp lại và chuyển đổi nó thành một danh sách bằng cách sử dụng list(. ) người xây dựng. danh sách (dict. mặt hàng())

Làm cách nào để in từ điển trong danh sách Python?

Chính tả của Python. keys() có thể được sử dụng để truy xuất các khóa từ điển, sau đó có thể in ra bằng hàm print() . Một đối tượng xem hiển thị danh sách mọi khóa trong từ điển là kết quả của dict. phương thức keys().

Từ điển có thể là một danh sách Python không?

Cả hai có thể được lồng vào nhau. Một danh sách có thể chứa một danh sách khác. Một từ điển có thể chứa một từ điển khác . Một từ điển cũng có thể chứa một danh sách và ngược lại.