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

Chuyển danh sách thành danh sách danh sách bằng Python

Trong quá trình phân tích dữ liệu, chúng tôi phải đối mặt với các tình huống chuyển đổi mọi phần tử của danh sách thành danh sách con. Vì vậy, trong bài viết này, chúng ta sẽ cần lấy một danh sách bình thường làm đầu vào và chuyển đổi thành một danh sách các danh sách trong đó mỗi phần tử trở thành một danh sách con.

Sử dụng vòng lặp for

Đây là một cách tiếp cận rất đơn giản, trong đó chúng tôi tạo vòng lặp for để đọc từng phần tử. Chúng tôi đọc nó dưới dạng danh sách và lưu trữ kết quả trong danh sách mới.

Ví dụ

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

#Given list
print("Given list: ",Alist)

# Each element as list
NewList= [[x] for x in Alist]

# Print
print("The new lists of lists: ",NewList)

Đầ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 new lists of lists: [['Mon'], ['Tue'], ['Wed'], ['Thu'], ['Fri']]

Với sự phân tách

Trong cách tiếp cận này, chúng tôi sử dụng hàm tách để trích xuất từng phần tử khi chúng được phân tách bằng dấu phẩy. Sau đó, chúng tôi tiếp tục bổ sung phần tử này dưới dạng một danh sách vào danh sách được tạo mới.

Ví dụ

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

#Given list
print("Given list: ",Alist)

NewList= []

# Using split
for x in Alist:
   x = x.split(',')
   NewList.append(x)

# Print
print("The new lists of lists: ",NewList)

Đầ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 new lists of lists: [['Mon'], ['Tue'], ['Wed'], ['Thu'], ['Fri']]

Sử dụng bản đồ

Hàm bản đồ được sử dụng để áp dụng lặp đi lặp lại cùng một hàm cho một chuỗi các tham số. Vì vậy, chúng tôi sử dụng hàm lambda để tạo một loạt các phần tử danh sách bằng cách đọc từng phần tử từ danh sách ban đầu và áp dụng hàm bản đồ cho nó.

Ví dụ

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

#Given list
print("Given list: ",Alist)

# Using map
NewList= list(map(lambda x:[x], Alist))

# Print
print("The new lists of lists: ",NewList)

Đầ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 new lists of lists: [['Mon'], ['Tue'], ['Wed'], ['Thu'], ['Fri']]