Lọc lambda Python
Hàm lambda là một hàm ẩn danh với cú pháp sum_of_square = lambda x, y: x**2 + y**2 7. Biểu thức được thực thi trên các đối số và kết quả được trả về. Mỗi chức năng lambda bao gồm 3 phần Show
Cú pháp — Biến đơnMột ví dụ đơn giản. sum_of_square = lambda x, y: x**2 + y**2 8 tương đương với định nghĩa hàm Python tiêu chuẩn như saudef square(x): Các trường hợp sử dụng như sum_of_square = lambda x, y: x**2 + y**2 9 sẽ cho kết quả như nhau trong cả hai trường hợpCú pháp — Nhiều biếnVí dụ lấy tổng bình phương 2 biến sum_of_square = lambda x, y: x**2 + y**2 Đặc điểmNhư có thể thấy trong các ví dụ trước, hàm lambda có các đặc điểm sau
Tại sao & Khi nào nên sử dụng Hàm Lambda?
1. LọcHàm lọc có dạng sum_of_square = lambda x, y: x**2 + y**2 5. Nó được sử dụng để lọc các phần tử thỏa mãn các điều kiện nhất định từ một đối tượng có thể lặp lại, chẳng hạn như danh sách và tập hợp. Đối số sum_of_square = lambda x, y: x**2 + y**2 6 thường được triển khai bằng hàm lambdanumbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]even_numbers = list(filter(lambda x: x % 2 == 0, numbers))print(even_numbers) 2. Bản đồHàm map có định dạng tương tự như sum_of_square = lambda x, y: x**2 + y**2 1 và được sử dụng để thực hiện thao tác thống nhất cho tất cả các phần tử trong một chuỗisum_of_square = lambda x, y: x**2 + y**2 13. Giảmcú pháp. sum_of_square = lambda x, y: x**2 + y**2 8Hàm sum_of_square = lambda x, y: x**2 + y**2 4, giống như sum_of_square = lambda x, y: x**2 + y**2 2, cũng được sử dụng để thực hiện thao tác sum_of_square = lambda x, y: x**2 + y**2 6 trên mỗi phần tử trong numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]even_numbers = list(filter(lambda x: x % 2 == 0, numbers))print(even_numbers)2. Tuy nhiên, nó hoạt động hơi khác một chút ở chỗ thao tác được thực hiện giữa các phần tử, thay vì được thực hiện trên từng phần tử riêng biệt Ví dụ: sum_of_square = lambda x, y: x**2 + y**2 2 được sử dụng nếu bạn muốn nhân đôi từng phần tử, nhưng sum_of_square = lambda x, y: x**2 + y**2 4 được sử dụng nếu bạn muốn lấy tổng của tất cả các phần tử trong dãysum_of_square = lambda x, y: x**2 + y**2 94. Các trường hợp sử dụng khácVí dụ: nếu chúng tôi có một danh sách giá và khối lượng được lấy từ sổ đặt hàng như sau. numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]even_numbers = list(filter(lambda x: x % 2 == 0, numbers))print(even_numbers)5 , mỗi phần tử trong danh sách đại diện cho một cặp giá-khối lượng. Để sắp xếp danh sách, chúng ta có thể sử dụng các hàm lambda để chỉ định khóa được sử dụng để sắp xếp sum_of_square = lambda x, y: x**2 + y**2 1Lưu ý cuối cùng Bên trong, cả hai chức năng numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]even_numbers = list(filter(lambda x: x % 2 == 0, numbers))print(even_numbers)6 và sum_of_square = lambda x, y: x**2 + y**2 0 đều hoạt động giống hệt nhau. Từ khóa numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]even_numbers = list(filter(lambda x: x % 2 == 0, numbers))print(even_numbers)8 hiển thị phiên bản mã byte Python có thể đọc được cho phép kiểm tra hướng dẫn. Đánh giá cả hai phiên bản của hàm numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]even_numbers = list(filter(lambda x: x % 2 == 0, numbers))print(even_numbers)9 được định nghĩa ở đầu bài viết này sum_of_square = lambda x, y: x**2 + y**2 6Các quy trình được thực hiện bởi cả hai chức năng được quan sát là hoàn toàn giống nhau. Vì vậy, không có sự khác biệt thực sự trong cách họ thực hiện Thêm nội dung tại PlainEnglish. io. Đăng ký nhận bản tin hàng tuần miễn phí của chúng tôi. Theo dõi chúng tôi trên Twitter và LinkedIn. Kiểm tra Sự bất hòa trong cộng đồng của chúng tôi và tham gia Tập thể tài năng của chúng tôi Lambda và bộ lọc trong Python là gì?Chúng ta có thể sử dụng hàm Lambda bên trong hàm tích hợp filter() để tìm tất cả các số chia hết cho 13 trong danh sách . Trong Python, hàm ẩn danh có nghĩa là một hàm không có tên. Hàm filter() trong Python nhận một hàm và một danh sách làm đối số.
Bộ lọc () trong Python là gì?Bộ lọc của Python() là hàm tích hợp sẵn cho phép bạn xử lý một lần lặp và trích xuất các mục thỏa mãn một điều kiện nhất định . Quá trình này thường được gọi là hoạt động lọc.
Bộ lọc hoặc danh sách hiểu nhanh hơn?Đối với danh sách lớn có một triệu phần tử, lọc danh sách bằng tính năng hiểu danh sách nhanh hơn 40% so với phương thức filter() tích hợp sẵn . Cái này là cái gì? .
Bộ lọc Python có nhanh hơn không?thông thường bộ lọc sẽ nhanh hơn một chút nếu sử dụng hàm dựng sẵn . Lưu câu trả lời này. Hiển thị hoạt động trên bài đăng này. Trong ví dụ của bạn, tốt hơn là sử dụng bộ lọc hơn là hiểu danh sách, theo định nghĩa. |