Khi python xử lý nhiều loại dữ liệu khác nhau, chúng ta sẽ gặp phải tình huống trong đó danh sách sẽ xuất hiện dưới dạng một chuỗi. Trong bài viết này, chúng ta sẽ xem cách chuyển một chuỗi thành một danh sách.
Có dải và tách
Đầu tiên chúng tôi áp dụng phương pháp dải để loại bỏ dấu ngoặc vuông và sau đó áp dụng hàm tách. Hàm tách với dấu phẩy làm tham số của nó tạo danh sách từ chuỗi.
Ví dụ
stringA = "[Mon, 2, Tue, 5,]" # Given string print("Given string", stringA) print(type(stringA)) # String to list res = stringA.strip('][').split(', ') # Result and its type print("final list", res) print(type(res))
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given string [Mon, 2, Tue, 5,] final list ['Mon', '2', 'Tue', '5,']
Với json.loads
Mô-đun json có thể thực hiện chuyển đổi trực tiếp từ chuỗi sang danh sách. Chúng tôi chỉ áp dụng hàm bằng cách truyền chuỗi dưới dạng tham số. Chúng ta chỉ có thể xem xét các yếu tố số ở đây.
Ví dụ
import json stringA = "[21,42, 15]" # Given string print("Given string", stringA) print(type(stringA)) # String to list res = json.loads(stringA) # Result and its type print("final list", res) print(type(res))
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given string [21,42, 15] final list [21, 42, 15]
Với ast.literal_eval
Mô-đun ast cung cấp cho chúng ta hàm nghĩa đen có thể chuyển đổi trực tiếp chuỗi thành một danh sách. Chúng tôi chỉ cung cấp chuỗi dưới dạng tham số cho phương thức nghĩa đen. Chúng ta chỉ có thể xem xét các yếu tố số ở đây.
Ví dụ
import ast stringA = "[21,42, 15]" # Given string print("Given string", stringA) print(type(stringA)) # String to list res = ast.literal_eval(stringA) # Result and its type print("final list", res) print(type(res))
Đầu ra
Chạy đoạn mã trên cho chúng ta kết quả sau -
Given string [21,42, 15] final list [21, 42, 15]