Khi python xử lý nhiều loại dữ liệu khác nhau, chúng ta sẽ gặp tình huống trong đó một 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 đổi một chuỗi thành một danh sách
Với dải và chia
Trước tiên, chúng tôi áp dụng phương pháp dải để loại bỏ các dấu ngoặc vuông và sau đó áp dụng chức năng tách. Hàm tách có dấu phẩy làm tham số tạo danh sách từ chuỗi
Thí dụ
Bản thử trực tiếp
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. tải
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 chức năng bằng cách chuyể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
Thí dụ
Bản thử trực tiếp
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 tôi literal_eval có thể chuyển đổi trực tiếp chuỗi thành danh sách. Chúng tôi chỉ cung cấp chuỗi dưới dạng tham số cho phương thức literal_eval. Chúng ta chỉ có thể xem xét các yếu tố số ở đây
Trong hướng dẫn ngắn này, chúng ta xem xét tất cả các phương thức khác nhau và mã có thể được sử dụng để chuyển đổi danh sách thành chuỗi trong Python
Mục lục
- Tại sao chuyển đổi danh sách python thành chuỗi?
- Các phương pháp chuyển đổi danh sách python thành chuỗi
- Sử dụng tham gia[]
- Sử dụng tham gia [] và bản đồ []
- Chuyển đổi danh sách thành chuỗi bằng vòng lặp
- Suy nghĩ và khuyến nghị kết thúc
Tại sao chuyển đổi danh sách python thành chuỗi?
Chuyển đổi danh sách thành chuỗi trong python là một cách phổ biến. Một trong những trường hợp sử dụng phổ biến nhất để chuyển đổi danh sách thành chuỗi là hiển thị nội dung của danh sách dưới dạng chuỗi hoặc thực hiện thao tác chuỗi
Có nhiều cách để chuyển đổi danh sách thành chuỗi trong python. Các phương pháp này không có bất kỳ giới hạn cụ thể nào để so sánh và do đó nó tập trung vào sự hiểu biết và sở thích của người lập trình đối với một phương pháp cụ thể
Phương pháp chuyển đổi danh sách thành chuỗi trong python
Sử dụng tham gia[]
Cách Pythonic nhất để chuyển đổi danh sách thành chuỗi là sử dụng phương thức
flexiple = ["Hire", "the", "top", "freelancers"]
print[" ".join[flexiple]]
#Output - "Hire the top freelancers"
8. Phương pháp flexiple = ["Hire", "the", "top", "freelancers"]
print[" ".join[flexiple]]
#Output - "Hire the top freelancers"
8 được sử dụng để tạo điều kiện thuận lợi cho mục đích chính xác nàyNó nhận các lần lặp, nối chúng và trả về chúng dưới dạng một chuỗi. Tuy nhiên, các giá trị trong iterable phải là kiểu dữ liệu chuỗi
Trong trường hợp iterable của bạn chứa
flexiple = ["Hire", "the", "top", 10, "python","freelancers"]
print[" ".join[flexiple]]
#Output - TypeError: sequence item 3: expected str instance, int found
0, bạn có thể sử dụng phương pháp thứ haiCú pháp nối[]. string.join[iterable]
Ở đây
flexiple = ["Hire", "the", "top", 10, "python","freelancers"]
print[" ".join[flexiple]]
#Output - TypeError: sequence item 3: expected str instance, int found
1 đề cập đến dấu tách mong muốnTham số
Có thể lặp lại - Bất kỳ có thể lặp lại nào - danh sách, bộ dữ liệu, bộ, v.v.
Mã để chuyển đổi danh sách python thành chuỗi bằng cách sử dụng phép nối [].flexiple = ["Hire", "the", "top", "freelancers"]
print[" ".join[flexiple]]
#Output - "Hire the top freelancers"
Trong đoạn mã trên, dấu phân cách là khoảng trắng
flexiple = ["Hire", "the", "top", 10, "python","freelancers"]
print[" ".join[flexiple]]
#Output - TypeError: sequence item 3: expected str instance, int found
2 và do đó, một chuỗi chứa các ký tự trong danh sách được phân tách bằng dấu cách được trả vềNhư đã nói ở trên, chúng ta hãy thử sử dụng
flexiple = ["Hire", "the", "top", "freelancers"]
print[" ".join[flexiple]]
#Output - "Hire the top freelancers"
8 trên một lần lặp có chứa một flexiple = ["Hire", "the", "top", 10, "python","freelancers"]
print[" ".join[flexiple]]
#Output - TypeError: sequence item 3: expected str instance, int found
0. Nó sẽ trả về một flexiple = ["Hire", "the", "top", 10, "python","freelancers"]
print[" ".join[flexiple]]
#Output - TypeError: sequence item 3: expected str instance, int found
5flexiple = ["Hire", "the", "top", 10, "python","freelancers"]
print[" ".join[flexiple]]
#Output - TypeError: sequence item 3: expected str instance, int found
Sử dụng tham gia [] và bản đồ []
Phương pháp này chuyển đổi danh sách thành chuỗi trong python bằng cách sử dụng hàm
flexiple = ["Hire", "the", "top", 10, "python","freelancers"]
print[" ".join[flexiple]]
#Output - TypeError: sequence item 3: expected str instance, int found
6 và flexiple = ["Hire", "the", "top", "freelancers"]
print[" ".join[flexiple]]
#Output - "Hire the top freelancers"
8. Phương thức này được sử dụng khi có thể lặp lại, trong trường hợp của chúng tôi, một danh sách chứa một giá trị số nguyênVì các phương thức
flexiple = ["Hire", "the", "top", "freelancers"]
print[" ".join[flexiple]]
#Output - "Hire the top freelancers"
8 chỉ nhận các giá trị chuỗi, chúng tôi sử dụng các phương thức flexiple = ["Hire", "the", "top", 10, "python","freelancers"]
print[" ".join[flexiple]]
#Output - TypeError: sequence item 3: expected str instance, int found
6 để chuyển đổi các giá trị số nguyên thành một chuỗi trước khi chuyển đổi danh sách thành một chuỗiCác phương thức
flexiple = ["Hire", "the", "top", 10, "python","freelancers"]
print[" ".join[flexiple]]
#Output - TypeError: sequence item 3: expected str instance, int found
6 thực thi một chức năng cụ thể cho tất cả các giá trị trong một lần lặp. Và trong trường hợp của chúng tôi, chúng tôi sử dụng nó để chuyển đổi từng giá trị trong danh sách thành một chuỗiCú pháp của map[]. 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]]0
Tham số
chức năng - Một chức năng cụ thể mà bạn muốn thực hiện
Iterable - Một đối tượng có thể lặp lại chứa các giá trị
Bằng cách sử dụng hàm
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]]01 chuyển đổi các đối tượng thành chuỗi, chúng ta có thể chuyển đổi các giá trị int thành chuỗi trước khi sử dụng phương thức nốiMã để chuyển đổi danh sách python thành chuỗi bằng map[].
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]]2
Chuyển đổi danh sách thành chuỗi trong python bằng vòng lặp
Phương pháp thứ ba để chuyển đổi danh sách thành chuỗi trong python là lặp qua từng đối tượng và nối nó vào một chuỗi. Tôi sẽ không đề xuất phương pháp này vì python tạo một chuỗi mới mỗi khi bạn thêm một đối tượng
Phương pháp này chậm và chỉ được sử dụng để giúp hiểu khái niệm chuyển đổi danh sách thành chuỗi trong python
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]]3
Suy nghĩ và khuyến nghị kết thúc
Chuyển đổi danh sách thành chuỗi trong python rất có thể không phải là quy trình một lần và cách tốt nhất là xác định hàm trả về đầu ra
Và như đã nói ở trên, không có giới hạn đáng kể nào có thể được sử dụng để cân nhắc chúng với nhau. Tuy nhiên, chúng phục vụ cho các trường hợp sử dụng khác nhau
Phương pháp 1 có thể được sử dụng trong trường hợp bạn tự tin rằng mình sẽ không xử lý bất kỳ giá trị số nguyên nào. Phương pháp 2 nếu bạn không chắc chắn hoặc có các giá trị số nguyên trong danh sách của mình. Và cách cuối cùng chỉ dành cho các bạn hiểu chuyển đổi list thành string trong python