Computer >> Máy Tính >  >> Lập trình >> Python

Python - Chuyển đổi danh sách đã cho thành danh sách lồng nhau

Có thể xảy ra tình huống khi chúng ta cần chuyển các phần tử trong danh sách thành một danh sách tự nó. Nói cách khác, hãy tạo một danh sách được lồng vào nhau vì các phần tử của nó cũng là danh sách.

Sử dụng phép lặp

Đây là cách tiếp cận mới, trong đó chúng tôi lấy từng phần tử của danh sách và chuyển đổi nó sang định dạng danh sách. Chúng tôi sử dụng danh sách tạm thời để đạt được điều này. Cuối cùng, tất cả các phần tử được chuyển đổi thành danh sách này được nhóm lại với nhau để tạo danh sách danh sách bắt buộc.

Ví dụ

listA = ['Mon','Tue','Wed','Thu','Fri']

print("Given list:\n",listA)
new_list = []

# Creating list of list format
for elem in listA:
   temp = elem.split(', ')
   new_list.append((temp))

# Final list
res = []

for elem in new_list:
   temp = []
   for e in elem:
      temp.append(e)
   res.append(temp)

# printing
print("The list of lists:\n",res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list:
   ['Mon', 'Tue', 'Wed', 'Thu', 'Fri']
The list of lists:
   [['Mon'], ['Tue'], ['Wed'], ['Thu'], ['Fri']]

Với ast

Chúng ta cũng có thể sử dụng tên mô-đun python cây cú pháp trừu tượng hoặc được gọi là ast. Nó có một hàm có tên là nghĩa đen sẽ giữ các phần tử của danh sách đã cho cùng nhau và chuyển đổi nó thành một danh sách mới.

Ví dụ

import ast
listA = ['"Mon","Tue"','"Wed","Thu","Fri"']
print("Given list: \n", listA)
res = [list(ast.literal_eval(x)) for x in listA]

# New List
print("The list of lists:\n",res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau -

Given list:
   ['"Mon","Tue"', '"Wed","Thu","Fri"']
The list of lists:
   [['Mon', 'Tue'], ['Wed', 'Thu', 'Fri']]