Trong phân tích dữ liệu, cần chuyển mỗi phần tử list thành sublist. Bài viết lấy list thường chuyển thành list of lists (mỗi phần tử thành sublist).
Sử dụng vòng lặp for
Cách trực tiếp: vòng lặp đọc từng phần tử, đọc nó như list, lưu vào list mới.
Ví dụ
Alist = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] # Given list
print("Given list: ", Alist)
# Mỗi phần tử thành list
NewList = [[x] for x in Alist]
print("The new lists of lists: ", NewList)
Kết quả
Chạy đoạn mã trên cho kết quả sau:
Given list: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] The new lists of lists: [['Mon'], ['Tue'], ['Wed'], ['Thu'], ['Fri']]
Sử dụng split
Dùng split() tách phần tử theo dấu phẩy. Thêm từng phần tử như list vào list mới.
Ví dụ
Alist = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] # Given list
print("Given list: ", Alist)
NewList = []
# Sử dụng split
for x in Alist:
x = x.split(',')
NewList.append(x)
print("The new lists of lists: ", NewList)
Kết quả
Chạy đoạn mã trên cho kết quả sau:
Given list: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] The new lists of lists: [['Mon'], ['Tue'], ['Wed'], ['Thu'], ['Fri']]
Sử dụng map
map() áp dụng cùng hàm cho dãy tham số. Dùng lambda tạo dãy list từ từng phần tử list gốc, áp dụng map().
Ví dụ
Alist = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] # Given list
print("Given list: ", Alist)
# Sử dụng map
NewList = list(map(lambda x: [x], Alist))
print("The new lists of lists: ", NewList)
Kết quả
Chạy đoạn mã trên cho kết quả sau:
Given list: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri'] The new lists of lists: [['Mon'], ['Tue'], ['Wed'], ['Thu'], ['Fri']]