Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chuyển đổi danh sách chuỗi thành danh sách lồng nhau trong Python

Trong bài viết này, chúng ta sẽ thấy cách tạo danh sách các danh sách chứa dữ liệu kiểu chuỗi. Các danh sách con cũng là kiểu chuỗi và có thể chứa số hoặc chuỗi làm phần tử.

Sử dụng strip và split

Chúng ta dùng hai phương pháp này để trước tiên tách các danh sách, sau đó chuyển đổi từng phần tử của danh sách thành chuỗi.

Ví dụ

list1 = [ '[0, 1, 2, 3]', '["Mon", "Tue", "Wed", "Thu"]' ]
print("Danh sách cho trước là : \n" + str(list1))
print("\n")
# Sử dụng strip() + split()
result = [k.strip("[]").split(", ") for k in list1]
print("Chuyển đổi danh sách chuỗi thành danh sách lồng nhau : \n" + str(result))

Kết quả

Chạy đoạn code trên cho kết quả sau:

Danh sách cho trước là : ['[0, 1, 2, 3]', '["Mon", "Tue", "Wed", "Thu"]']
Chuyển đổi danh sách chuỗi thành danh sách lồng nhau : [['0', '1', '2', '3'], ['"Mon"', '"Tue"', '"Wed"', '"Thu"']]

Sử dụng split và cắt chuỗi (slicing)

Chúng ta cũng có thể đạt được kết quả trên bằng cách chỉ dùng phương thức split và cắt chuỗi. Các danh sách tự được cắt để lấy từng phần tử, sau đó mỗi phần tử được chuyển thành chuỗi.

Ví dụ

list1 = [ '[0, 1, 2, 3]', '["Mon", "Tue", "Wed", "Thu"]' ]
print("Danh sách cho trước là : \n" + str(list1))
print("\n")
# Sử dụng split()
result = [i[1:-1].split(', ') for i in list1]
print("Chuyển đổi danh sách chuỗi thành danh sách lồng nhau : \n" + str(result))

Kết quả

Chạy đoạn code trên cho kết quả sau:

Danh sách cho trước là : ['[0, 1, 2, 3]', '["Mon", "Tue", "Wed", "Thu"]']
Chuyển đổi danh sách chuỗi thành danh sách lồng nhau : [['0', '1', '2', '3'], ['"Mon"', '"Tue"', '"Wed"', '"Thu"']]