Làm phẳng một danh sách các danh sách python
Có một số cách để giải nén danh sách lồng nhau và tạo thành danh sách phẳng, một số cách tiếp cận này không cần thư viện trong khi những cách khác sử dụng itertools, functools và numpy Show 1. Vòng lặp và hiểu danh sáchĐây là cách dễ nhất để làm phẳng một danh sách. Nó sử dụng một vòng lặp for để lặp qua danh sách chính và một vòng lặp for lồng nhau khác để lặp qua phần tử của danh sách chính
đầu ra
Một phiên bản ngắn hơn của điều này sử dụng khả năng hiểu danh sách
Ngoài ra, có thể sử dụng phần mở rộng () để tạo danh sách kết quả mà không cần vòng lặp lồng nhau
2. itertools. chuỗi(*nested_list)Itertools là một phần của thư viện tiêu chuẩn của python và cung cấp phương thức để tạo danh sách phẳng. Phương thức chuỗi lấy danh sách làm đối số, do đó, một 5 được sử dụng để giải nén danh sách, đọc thêm về *args tại đây, giá trị trả về là một trình vòng lặp chứ không phải danh sách, sử dụng list() nó buộc phải mang lại tất cả các phần tử
3. itertools. chuỗi. from_iterable(nested_list)Tương tự với itertools. chain() nhưng lấy một danh sách lồng nhau làm đối số
4. công cụ chức năng. giảm (chức năng, Nested_list)reduce() hoạt động bằng cách áp dụng một hàm cho hai phần tử của một iterable tích lũy
Ngoài ra, thay vì viết hàm lambda, có thể sử dụng sẵn ________số 8 5. cục mịch. nối (nested_list)Trả về danh sách đã hợp nhất thay vì một trình vòng lặp 06. cục mịch. mảng (danh sách lồng nhau). bằng phẳngMảng Numpy có một thuộc tính phẳng có thể được sử dụng để lấy một trình vòng lặp cho một mảng phẳng nhưng nó chỉ hoạt động nếu các danh sách bên trong danh sách lồng nhau có cùng độ dài |