Làm cách nào để chuyển đổi từ điển thành danh sách trong Python?
Từ điển Python là kiểu dữ liệu dựng sẵn có thể lưu dữ liệu khác với danh sách hoặc mảng. Nó lưu trữ dữ liệu trong các cặp khóa-giá trị
Show
Từ điển không phải là trình tự, vì vậy chúng không thể được lập chỉ mục theo dãy số; Từ điển Python để liệt kêĐể chuyển từ điển thành danh sách trong Python, hãy sử dụng một trong hai lệnh dict. keys() hoặc dict. giá trị () hoặc dict. phương thức item()
Python chính tả. phím()Hãy định nghĩa một từ điển và áp dụng phương thức keys() để lấy danh sách tất cả các khóa từ điển sabrina = { "witch": "Sabrina Spellman", "warlock": "Nicholas Scratch", "darklord": "Lucifer Morningstar", } dict_keys = sabrina.keys() print(dict_keys) print(type(dict_keys)) đầu radict_keys(['witch', 'warlock', 'darklord']) Đối tượng xem sẽ phản ánh bất kỳ thay đổi nào được thực hiện đối với từ điển Python chính tả. giá trị()mệnh lệnh. các giá trị () là một hàm tích hợp trả về một đối tượng dạng xem hiển thị danh sách tất cả các giá trị trong từ điển sabrina = { "witch": "Sabrina Spellman", "warlock": "Nicholas Scratch", "darklord": "Lucifer Morningstar", } dict_values = sabrina.values() print(dict_values) print(type(dict_values)) đầu radict_values(['Sabrina Spellman', 'Nicholas Scratch', 'Lucifer Morningstar']) Hàm values() cũng trả về một đối tượng dạng xem hiển thị danh sách tất cả các giá trị Python chính tả. mặt hàng()Python chính tả. items() là một phương thức tích hợp trả về một đối tượng xem hiển thị danh sách các cặp tuple (khóa, giá trị) của từ điển. Phương thức items() tương tự như phương thức viewitems() trong Python 2. 7 sabrina = { "witch": "Sabrina Spellman", "warlock": "Nicholas Scratch", "darklord": "Lucifer Morningstar", } data = sabrina.items() print(data) print(type(data)) đầu radict_items([('witch', 'Sabrina Spellman'), ('warlock', 'Nicholas Scratch'), ('darklord', 'Lucifer Morningstar')]) Đó là nó. Đầu ra của đoạn mã trên phải là các giá trị dữ liệu chính. cặp giá trị từ một từ điển Để chuyển đổi các khóa Từ điển Python thành Danh sách, bạn có thể sử dụng dict. keys() phương thức trả về một đối tượng dict_keys. Đối tượng này có thể được lặp lại và nếu bạn chuyển nó tới hàm tạo list(), nó sẽ trả về một đối tượng danh sách với các khóa từ điển làm phần tử Một đoạn mã đơn giản để chuyển đổi các khóa từ điển thành danh sách là
ví dụ 1. Các phím từ điển để liệt kê bằng cách sử dụng dict. phím()Trong chương trình sau, chúng ta khởi tạo một từ điển với ba phím. cặp giá trị. Chúng tôi sẽ sử dụng dict. keys() để lấy đối tượng dict_keys. chúng tôi vượt qua dict. keys() làm đối số cho hàm tạo list(). list() trả về danh sách các khóa Chương trình Python Chạyđầu ra ________số 8_______ví dụ 2. Khóa từ điển để liệt kê bằng cách sử dụng hiểu danh sáchChúng tôi cũng có thể sử dụng Hiểu danh sách để lấy các khóa của từ điển dưới dạng các thành phần của danh sách Chương trình Python Chạyđầu ra ________số 8_______ví dụ 3. Các khóa từ điển để liệt kê bằng vòng lặp ForNếu bạn không thoải mái với việc hiểu Danh sách, hãy để chúng tôi sử dụng Vòng lặp. Khi bạn lặp trên từ điển, bạn sẽ nhận được khóa tiếp theo trong mỗi lần lặp. Xác định một danh sách trống keysList để lưu trữ các khóa và nối thêm khóa trong mỗi lần lặp trong vòng lặp for Tóm lược. Để 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 [('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 Xem video này trên YouTube Vấn đề. Đưa ra một từ điển của [('Alice', 19), ('Bob', 23), ('Carl', 47)]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 Thí dụ. Cho từ điển sau d = {'Alice': 19, 'Bob': 23, 'Carl': 47} 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()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 chứa 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 lại 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
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 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ảnPhươ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
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? (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ờ 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 đổi các giá trị từ điển thành danh sách trong Python?Dưới đây là 3 cách tiếp cận để trích xuất các giá trị từ điển dưới dạng danh sách trong Python. . (1) Sử dụng hàm list(). my_list = danh sách (my_dict. giá trị()) (2) Sử dụng cách hiểu danh sách. my_list = [i cho tôi trong my_dict. giá trị()] (3) Sử dụng vòng lặp For. my_list = [] cho tôi trong my_dict. giá trị(). danh sách của tôi. nối thêm (i) Làm cách nào để chuyển đổi các khóa từ điển thành danh sách trong Python?Phương pháp 1. Lấy khóa từ điển dưới dạng danh sách bằng dict . mệnh lệnh. keys() trong Từ điển Python, trả về một đối tượng dạng xem hiển thị danh sách tất cả các khóa trong từ điển theo thứ tự chèn.
Làm cách nào để chuyển đổi từ điển thành danh sách các chuỗi trong Python?Bạn có thể dễ dàng chuyển đổi từ điển Python thành chuỗi bằng cách sử dụng hàm str() . Hàm str() lấy một đối tượng (vì mọi thứ trong Python đều là đối tượng) làm tham số đầu vào và trả về một biến thể chuỗi của đối tượng đó.
Làm cách nào để lấy các giá trị từ từ điển vào danh sách?Để lấy danh sách, chúng ta có thể dùng từ điển. giá trị() kết hợp với hàm list() . Phương thức value() được sử dụng để truy cập các giá trị từ khóa. các cặp giá trị và các giá trị sau đó được chuyển đổi thành danh sách bằng cách sử dụng hàm list(). |