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

Làm thế nào để nối danh sách các danh sách trong python?

Có nhiều cách khác nhau để san bằng một danh sách. Cách đơn giản là chạy hai vòng lặp lồng nhau - vòng lặp bên ngoài cung cấp một danh sách con gồm các danh sách và vòng lặp bên trong cung cấp một phần tử của danh sách con tại một thời điểm. Mỗi phần tử được nối vào đối tượng danh sách phẳng.

 L1 =[[1,2], [3,4,5], [6,7,8,9]] flat =[] for i in L1:for j in i:flat.append (j) in (phẳng) 

Một phương pháp khác là sử dụng hàm trình tạo để tạo ra một trình vòng lặp và chuyển đổi nó thành một danh sách

 def flatten (danh sách):for i in list:for j in i:bring jL1 =[[1,2,3], [4,5], [6,7,8,9]] flat =flatten (L1) in (danh sách (phẳng)) 

Phương pháp nhỏ gọn nhất là sử dụng phương thức chain () từ mô-đun itertools

 L1 =[[1,2,3], [4,5], [6,7,8,9]] nhập itertoolsflat =itertools.chain.from_iterable (L1) print (danh sách (phẳng))  

Tất cả các mã trên tạo ra một danh sách phẳng

 [1, 2, 3, 4, 5, 6, 7, 8, 9]