Cách chuyển từ điển Python thành danh sách
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ố kiểu 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, chuyển từ điển thành một danh sách lồng nhau hoặc làm phẳng là một cách chuyển đổi phổ biến mà bạn sẽ thấy mình thực hiện.
Mục Lục
Chuyển từ điển Python thành danh sách bằng vòng lặp for
Các vì vòng lặp cung cấp cho bạn nhiều lực kéo hơn đối với dữ liệu của mình trong khi chuyển đổi từ điển Python thành một danh sách.
Ví dụ: đ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"}
convertedList = []for i in myDictionary:
convertedList.append([i, myDictionary[i]])
print(convertedList)
Đoạn mã trên sẽ chèn mỗi khóa (tôi) và giá trị (từ điển của tôi[i]) ghép nối thành 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():
convertedList.append([key, value])
Bạn cũng có thể đặt từng cặp thành một bộ hoặc một bộ. Tất cả những gì bạn cần làm là thay thế các dấu ngoặc vuông ([]) xung quanh giá trị cốt lõi ghép với dấu ngoặc nhọn ({}) hoặc dấu ngoặc đơn (()) cho phù hợp.
Bạn cũng có thể đạt được điều này bằng cách sử dụng vì lặp lại cùng với tính năng hiểu danh sách của Python:
convertedList = [[i, myDictionary[i]] for i in myDictionary]
Hàm chuyển từ điển Python thành danh sách phẳng
Trong khi ở trên vì các tùy chọn vòng lặp tạo ra một danh sách lồng nhau, bạn có thể hủy cấu trúc nó thành một danh sách thẳng nếu đó là những gì bạn muốn.
Hàm sau thực hiện điều đó:
def convertToStraightList(sampleDict):
flatList = []for key, value in sampleDict.items():
flatList.extend([key, value])
return flatList
print(convertToStraightList(myDictionary))
Hàm trên trả về một danh sách phẳng và khái niệm rất đơn giản. Vòng lặp nối mỗi Chìa khóa và giá trị ghép nối với một danh sách mà hàm trả về khi nó kết thúc.
Sử dụng các hàm một dòng tích hợp
Cả hai bản đồ và zip các hàm 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ì vòng lặp, tùy thuộc vào vấn đề của bạn và chúng chắc chắn thuận tiện hơn.
Các zip hàm tạo ra một danh sách các bộ giá trị lồng nhau:
convertedList = list(zip(myDictionary.keys(), myDictionary.values()))
print(convertedList)
Các bản đồ mặt khác, hàm cung cấp một danh sách các danh sách:
convertedList = list(map(list, myDictionary.items()))
print(convertedList)
Chuyển đổi giữa danh sách Python và từ điển theo cách nào đó
Những cách khác nhau này để chuyển đổi một từ điển thành một 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.
Đọc tiếp