Bộ lọc bản đồ giảm python
Các hàm map(), filter() và reduce() của Python thêm một chút lập trình chức năng vào ngôn ngữ. Cả ba hàm này đều là các hàm tiện lợi có thể được thay thế bằng các vòng lặp hoặc Hiểu danh sách nhưng cung cấp một giải pháp ngắn gọn và thanh lịch hơn cho một số vấn đề Show map(), filter(), và reduce() đều hoạt động theo cùng một cách. Các hàm này chấp nhận một hàm và một chuỗi các phần tử và trả về kết quả của việc áp dụng hàm nhận được cho từng phần tử trong chuỗi hàm map()Giống như reduce(), hàm map() cho phép bạn lặp qua từng mục trong một lần lặp. Mặt khác, Map() hoạt động độc lập trên từng mục thay vì tạo ra một kết quả duy nhất Cuối cùng, hàm map() có thể được sử dụng để thực hiện các phép toán trên hai hoặc nhiều danh sách. Nó thậm chí có thể được sử dụng để thao tác với bất kỳ loại mảng nào Độ phức tạp thời gian của hàm map()= O(n) cú phápmap(function, iterable) Thông số
Thuật toán (Các bước)Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn –
Mã sốđầu raKhi thực thi, chương trình trên sẽ tạo đầu ra sau - Multiplying list elements with 3: 3 9 15 6 18 30 chức năng bộ lọc()Hàm filter() tạo một trình vòng lặp mới để lọc các phần tử từ phần tử đã tạo trước đó (như danh sách, bộ dữ liệu hoặc từ điển) Hàm filter() kiểm tra xem điều kiện đã cho có tồn tại trong chuỗi hay không rồi in kết quả Độ phức tạp thời gian của hàm filter() = O (n) cú phápfilter(function, iterable) Thông số
Thuật toán (Các bước)Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn –
Thí dụđầu raKhi thực thi, chương trình trên sẽ tạo ra đầu ra sau - Eligibility ages for voting from the input list: [20, 18, 25, 19] giảm()Trong Python, hàm reduce() lặp qua từng mục trong danh sách hoặc kiểu dữ liệu có thể lặp khác, trả về một giá trị. Nó nằm trong thư viện funcools. Điều này hiệu quả hơn vòng lặp cú phápreduce(function, iterable) Thông số
Thuật toán (Các bước)Sau đây là Thuật toán/các bước cần tuân thủ để thực hiện tác vụ mong muốn –
Thí dụđầu raThe sum of all list items: 52 Khi chúng ta chuyển hàm addNumbers() và danh sách đầu vào làm đối số cho hàm reduce(), nó sẽ lấy hai phần tử của danh sách và tính tổng chúng để tạo thành một phần tử, sau đó lấy một phần tử danh sách khác và cộng lại để tạo thành một phần tử Phần kết luậnBài viết này đề cập đến các hàm map(), reduce() và filter(), cũng như cú pháp và ví dụ của chúng Bộ lọc bản đồ giảm trong Python là gì?Bản đồ, Bộ lọc và Giảm là mô hình của lập trình chức năng . Chúng cho phép lập trình viên (bạn) viết mã đơn giản hơn, ngắn hơn mà không nhất thiết phải bận tâm về những điều phức tạp như vòng lặp và phân nhánh.
Sự khác biệt giữa bản đồ bộ lọc và giảm trong Python là gì?reduce() hoạt động khác với map() và filter(). Nó không trả về danh sách mới dựa trên chức năng và khả năng lặp lại mà chúng tôi đã thông qua. Thay vào đó, nó trả về một giá trị duy nhất . Ngoài ra, trong Python 3, reduce() không còn là hàm tích hợp nữa và có thể tìm thấy hàm này trong mô-đun funcools.
Bản đồ bộ lọc và giảm là gì?Ánh xạ, rút gọn và lọc đều là các phương thức mảng trong JavaScript . Mỗi người sẽ lặp qua một mảng và thực hiện một phép biến đổi hoặc tính toán. Mỗi cái sẽ trả về một mảng mới dựa trên kết quả của hàm.
Là giảm nhanh hơn bản đồ và bộ lọc?reduce() chắc chắn là nhanh hơn ~94% thời gian . |