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[]
- mệnh lệnh. phím[]. Phương thức keys[] trả về một đối tượng dạng xem chứa các khóa của từ điển dưới dạng danh sách
- mệnh lệnh. giá trị[]. Phương thức values[] trả về một đối tượng dạng xem chứa các giá trị của từ điển dưới dạng danh sách
- mệnh lệnh. mặt hàng[]. Phương thức items[] trả về một đối tượng dạng xem hiển thị danh sách các cặp bộ [khóa, giá trị] của từ điển
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 ra
dict_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 ra
dict_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 ra
dict_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
Xem thêm
Python dict thành json
Từ điển Python sang mảng
Bài viết trước Cách chuyển đổi danh sách thành chuỗi trong Python
Bài viết tiếp theo Cách chuyển từ điển sang DataFrame trong Python
Ankit Lathiya
Ankit Lathiya là Bậc thầy về Ứng dụng Máy tính theo chuyên môn và là Nhà phát triển Android và Laravel chuyên nghiệp, đồng thời là một trong những tác giả của blog này
Thao tác dữ liệu xảy ra rất nhiều trong lập trình, tùy thuộc vào vấn đề bạn định giải quyết. Bạn có thể thường thấy mình đang chuyển đổi cấu trúc dữ liệu này sang cấu trúc dữ liệu khác. Một số loại giống nhau đến mức việc chuyển đổi giữa chúng là một quá trình đơn giản
Trong Python, biến một từ điển thành một danh sách lồng nhau hoặc làm phẳng là một chuyển đổi phổ biến mà bạn sẽ thấy mình đang thực hiện
Chuyển đổi từ điển Python thành danh sách bằng vòng lặp for
Vòng lặp for cung cấp cho bạn nhiều lực kéo hơn đối với dữ liệu của bạn trong khi chuyển đổi từ điển Python thành danh sách
Chẳng hạn, đoạn mã sau chuyển đổi một từ điển thành một danh sách lồng nhau
myDictionary = {"A": "Python", "B": "JavaScript", "C": "Node"}\nconvertedList = []\n \nfor i in myDictionary:\n convertedList.append[[i, myDictionary[i]]]\n \nprint[convertedList]\n \n# Output: [['A', 'Python'], ['B', 'JavaScript'], ['C', 'Node']]\n
Đoạn mã trên chèn từng cặp khóa [i] và giá trị [myDictionary[i]] vào các danh sách riêng lẻ và nối chúng vào một danh sách trống
Nó cũng giống như viết
for key, value in myDictionary.items[]:\n convertedList.append[[key, value]]\n
Bạn cũng có thể đặt từng cặp thành một bộ hoặc bộ. Tất cả những gì bạn cần làm là thay thế dấu ngoặc vuông [[]] xung quanh cặp khóa, giá trị bằng dấu ngoặc nhọn [{}] hoặc dấu ngoặc đơn [[]] tương ứng
Bạn cũng có thể đạt được điều này bằng cách sử dụng vòng lặp for cùng với tính năng hiểu danh sách của Python
Chức năng chuyển đổi từ điển Python thành danh sách phẳng
Mặc dù các tùy chọn vòng lặp for ở trên tạo ra một danh sách lồng nhau, nhưng bạn có thể hủy cấu trúc thêm nó thành một danh sách thẳng nếu đó là điều bạn muốn
Các chức năng sau đây làm điều đó
def convertToStraightList[sampleDict]:\n flatList = []\n \n for key, value in sampleDict.items[]:\n flatList.extend[[key, value]]\n \n return flatList\n \nprint[convertToStraightList[myDictionary]]\n \n# Output: ['A', 'Python', 'B', 'JavaScript', 'C', 'Node']\n
Hàm trên trả về một danh sách phẳng và khái niệm này rất đơn giản. Vòng lặp nối từng cặp khóa và giá trị vào danh sách mà hàm trả về khi hoàn tất
Sử dụng chức năng một lớp lót tích hợp
Cả hàm map và zip đều cho phép các giải pháp Python một dòng cho vấn đề này, với các kết quả khác nhau. Chúng có thể phù hợp hơn vòng lặp for, tùy thuộc vào vấn đề của bạn và chắc chắn là chúng thuận tiện hơn
Hàm zip tạo danh sách các bộ dữ liệu lồng nhau
dict_keys[['witch', 'warlock', 'darklord']]0
Mặt khác, chức năng bản đồ đưa ra một danh sách các danh sách
dict_keys[['witch', 'warlock', 'darklord']]1
Chuyển đổi giữa danh sách Python và từ điển theo một trong hai cách
Những cách khác nhau để chuyển đổi từ điển thành danh sách khá đơn giản trong Python. Vì vậy, bạn có thể biến một từ điển thành một danh sách, nhưng bạn cũng có thể làm ngược lại bằng cách chuyển đổi một danh sách Python thành một từ điển