Có chức năng lọc trong python không?
Mặc dù Python là ngôn ngữ hướng đối tượng, nhưng nó vẫn cung cấp các chức năng cung cấp phong cách lập trình chức năng. Trong một bài viết trước, chúng ta đã thảo luận về một trong những hàm đó, map. Trong bài viết này, chúng ta sẽ thảo luận về một hàm có sẵn khác của Python, hàm lọc Show
Trong hướng dẫn này, chúng ta sẽ tìm hiểu chức năng lọc trong Python là gì và cách sử dụng nó Bài viết về chức năng bản đồ Hàm bản đồ trong PythonTìm hiểu cách sử dụng hàm map trong Pythonhướng tới khoa học dữ liệu. com sử dụng vòng lặp forGiả sử chúng ta muốn tạo danh sách bằng cách sử dụng danh sách mà chúng ta đã có. Nhưng chúng tôi muốn danh sách mới của mình chỉ chứa các phần tử thỏa mãn một điều kiện nhất định. Ví dụ: chúng tôi có một danh sách các số và chúng tôi muốn tạo một danh sách mới chỉ chứa các số chẵn từ danh sách của chúng tôi. Chúng ta có thể hoàn thành nhiệm vụ này với vòng lặp for như sau
Một cách khác để thực hiện điều này là sử dụng chức năng bộ lọc Python tích hợp Hai hàm thú vị cần biết trong PythonTìm hiểu cách tạo bảng có lập bảng và hiển thị thanh tiến trình với tqdm trong Pythonhướng tới khoa học dữ liệu. com chức năng lọcHàm lọc có hai đối số. một hàm trả về
Hàm bộ lọc lấy từng phần tử từ danh sách của chúng tôi (hoặc bất kỳ phần tử nào có thể lặp lại mà chúng tôi chuyển vào) và chuyển nó vào hàm mà chúng tôi cung cấp cho nó. Nếu hàm có phần tử cụ thể đó làm đối số trả về
Một lần nữa, chức năng bộ lọc sẽ trả về một đối tượng bộ lọc, đó là một trình vòng lặp. Nếu chúng ta muốn tạo một danh sách từ đối tượng bộ lọc này, chúng ta cần chuyển đối tượng bộ lọc của mình sang hàm danh sách tích hợp (giống như chúng ta đã làm với đối tượng bản đồ) như sau
sử dụng chức năng lọcSau đó chúng ta có thể sử dụng chức năng lọc để tạo danh sách trên như sau
sử dụng biểu thức lambdaThay vào đó, chúng ta có thể rút ngắn mã của mình hơn nữa bằng cách chuyển biểu thức lambda làm hàm của chúng ta Tìm hiểu về hàm lambda tại đây Biểu thức Lambda trong PythonCách viết hàm ẩn danh trong pythonhướng tới khoa học dữ liệu. com hiểu danh sách vs. bản đồ và bộ lọcNếu chúng tôi nhớ lại, khả năng hiểu danh sách được sử dụng để tạo danh sách từ các trình tự khác, bằng cách áp dụng một số thao tác cho các phần tử, bằng cách lọc qua các phần tử hoặc kết hợp cả hai. Nói cách khác, khả năng hiểu danh sách có thể có cùng chức năng như chức năng lọc và bản đồ tích hợp. Thao tác áp dụng cho từng phần tử tương tự như hàm map và nếu chúng ta thêm điều kiện cho phần tử nào được thêm vào danh sách trong phần hiểu danh sách thì thao tác đó tương tự như hàm bộ lọc. Ngoài ra, biểu thức được thêm vào khi bắt đầu hiểu danh sách tương tự như biểu thức lambda có thể được sử dụng bên trong các hàm bản đồ và bộ lọc thí dụĐây là cách hiểu danh sách cộng bình phương các phần tử từ 0 đến 9, chỉ khi phần tử đó chẵn [x**2 for x in range(10) if x%2==0]# [0,4,16,36,64] Chúng ta có thể sử dụng các hàm bản đồ và bộ lọc, cùng với các hàm lambda, để thực hiện điều tương tự list(map(lambda x:x**2, filter(lambda x:x%2==0, range(10))))# [0,4,16,36,64]
Nếu bạn thích đọc những câu chuyện như thế này và muốn hỗ trợ tôi với tư cách là một nhà văn, hãy cân nhắc đăng ký để trở thành thành viên Medium. Đó là 5 đô la một tháng, cho phép bạn truy cập không giới hạn vào các câu chuyện trên Phương tiện. Nếu bạn đăng ký bằng liên kết của tôi, tôi sẽ kiếm được một khoản hoa hồng nhỏ |