Hướng dẫn python fitter - thợ săn trăn
Hàm filter() trong Python lọc ra các phần tử theo điều kiện của hàm func từ list, dict… Hàm này sẽ chỉ trả về những giá trị mà điều kiện trong func chấp nhận (có nghĩa là True). Cú pháp của hàm filter() như thế nào, nó có những tham số gì và cách sử dụng ra sao? Mời bạn đọc theo dõi. Nội dung chính ShowShow Nội dung chính
Các tham số của hàm filter()Ví dụ : Hàm filter() hoạt động thế nào?
Ví dụ : Hàm filter() hoạt động thế nào?
Ví dụ 2: filter() hoạt động không cần func. Đăng nhậpSử dụng filter() với một hàm Sử dụng None có filter() Ví dụ 2: filter() hoạt động không cần func.
Ví dụ 2: filter() hoạt động không cần func.
Đăng nhập Đăng nhậpSử dụng filter() với một hàm Sử dụng None có filter() Sử dụng filter() với Danh sách Từ điển
Kết luận Nội dung chính Hàm filter() có 2 tham số: Sử dụng filter() với một hàmSử dụng None có filter() Sử dụng filter() với Danh sách Từ điển
Kết luận
Nội dung chính
Hàm filter() có 2 tham số: func: là hàm điều kiện để kiểm tra các phần tử trong interable là đúng hay sai, func chỉ có thể trả về True hoặc False. interable: là các iterable cần lọc, có thể là set, list, tuple hoặc container.
Kết quả tương tự có thể đạt được bằng cách sử dụng một hàm ta xác định: 0Chức năng của ta 3 định nghĩa khái niệm mà ta sẽ thực hiện để lọc 9 ., kết quả sẽ như sau:
Nhìn chung, 8 hàm 8 đạt được kết quả tương tự với 1 như khi ta sử dụng một hàm thông thường. Sự cần thiết phải xác định một hàm thông thường tăng lên khi độ phức tạp của các biểu thức để lọc dữ liệu của ta tăng lên, điều này có khả năng thúc đẩy khả năng đọc tốt hơn trong mã của ta . Sử dụng None có filter()Ta có thể chuyển 8 làm đối số đầu tiên cho 1 để trình vòng lặp được trả về lọc ra bất kỳ giá trị nào mà Python coi là "sai". Nói chung, Python coi bất kỳ thứ gì có độ dài bằng 0 (chẳng hạn như danh sách trống hoặc chuỗi trống) hoặc số tương đương với 0 là sai, do đó, việc sử dụng thuật ngữ “falsy”.Trong trường hợp sau, ta muốn lọc danh sách của bạn để chỉ hiển thị số bể tại bể cá của ta : 2Trong đoạn mã này, ta có một danh sách chứa các số nguyên , dãy trống và giá trị boolean . 3Ta sử dụng các 1 chức năng với 8 và vượt qua trong 4 danh sách như iterable của ta . Vì ta đã chuyển 8 làm đối số đầu tiên, ta sẽ kiểm tra xem các mục trong danh sách của ta có bị coi là sai hay không. 4Sau đó, ta bọc 6 trong một hàm 4 để nó trả về một danh sách cho các 6 khi ta in.Ở đây kết quả chỉ hiển thị các số nguyên. Tất cả các mục được đánh giá là 0 , tương đương với độ dài bằng 0 , đã bị loại bỏ bởi 1 : 5Lưu ý : Nếu ta không sử dụng Với 8 ta đã sử dụng 1 để nhanh chóng xóa các mục khỏi danh sách bị coi là sai. Sử dụng filter() với Danh sách Từ điểnKhi ta có cấu trúc dữ liệu phức tạp hơn, ta vẫn có thể sử dụng 1 để đánh giá từng mục. Ví dụ: nếu ta có một danh sách các từ điển, ta không chỉ muốn lặp lại từng mục trong danh sách - một trong các từ điển - mà ta còn có thể cần lặp lại từng cặp khóa: giá trị trong từ điển để đánh giá tất cả dữ liệu. Ví dụ: giả sử ta có danh sách từng sinh vật trong bể cá của bạn cùng với các chi tiết khác nhau về từng sinh vật trong số chúng: 6Ta muốn lọc dữ liệu này bằng một chuỗi tìm kiếm mà ta cung cấp cho hàm. Để có 1 truy cập từng từ điển và từng mục trong từ điển, ta xây dựng một hàm lồng nhau, như sau: 7Ta định nghĩa một 1 chức năng mà mất 2 và 3 như thông số. Trong 1 ta chuyển 5 làm hàm để 1 . Hàm 1 sẽ trả về trình lặp kết quả từ 1 .
5 lấy 6 làm đối số, đại diện cho một mục trong danh sách của ta (nghĩa là một từ điển duy nhất).Tiếp theo 2 vòng lặp truy cập các giá trị trong mỗi phím: cặp giá trị trong từ điển của ta và sau đó sử dụng một tuyên bố có điều kiện để kiểm tra xem các 3 là trong 3 , đại diện cho một giá trị.Giống như trong các ví dụ trước của ta , nếu biểu thức đánh giá là 4 , hàm sẽ thêm mục vào đối tượng bộ lọc. Kết quả sẽ trả về sau khi hàm 1 hoàn thành. Ta đặt vị trí 6 bên ngoài vòng lặp của ta để nó kiểm tra mọi mục trong mỗi từ điển, thay vì quay lại sau khi kiểm tra từ điển đầu tiên.Ta gọi 1 với danh sách các từ điển của ta và chuỗi tìm kiếm mà ta muốn tìm các kết quả phù hợp: 8Một khi các chức năng hoàn thành ta có đối tượng bộ lọc của ta được lưu trữ trong 8 biến, mà ta biến thành một danh sách và in: 9Ta sẽ nhận được kết quả sau từ chương trình này: 0 Ta đã lọc danh sách các từ điển với chuỗi tìm kiếm 9 . Ta có thể thấy rằng ba từ điển bao gồm một số xe tăng với 9 đã được trả lại. Sử dụng chức năng lồng nhau của riêng ta cho phép ta truy cập mọi mục và kiểm tra hiệu quả từng mục đối với chuỗi tìm kiếm.Kết luậnTrong hướng dẫn này, ta đã học các cách khác nhau để sử dụng hàm 1 trong Python. Như vậy, bạn có thể sử dụng 1 với hàm của riêng mình, hàm 8 hoặc với 8 để lọc các mục có độ phức tạp khác nhau của cấu trúc dữ liệu. Mặc dù trong hướng dẫn này, ta đã in kết quả từ 1 ngay lập tức ở định dạng danh sách, nhưng có khả năng trong chương trình của ta , ta sẽ sử dụng đối tượng 1 trả về và thao tác thêm với dữ liệu. Nếu bạn muốn tìm hiểu thêm về Python, hãy xem loạt bài Cách viết mã trong Python 3 và trang chủ đề Python của ta . Tags: Các tin liên quan Cách sử dụng module pathlib để thao tác đường dẫn hệ thống tệp trong Python 3 2020-07-15 Cách tạo Slackbot bằng Python trên Ubuntu 20.04 2020-06-30 Cách sử dụng ThreadPoolExecutor trong Python 3 2020-06-23 Cách sử dụng module sqlite3 trong Python 3 2020-06-02 Cách thiết lập notebook Jupyter với Python 3 trên Ubuntu 20.04 và Kết nối qua Đường hầm SSH 2020-05-19 Cách cài đặt Phân phối Python Anaconda trên Ubuntu 20.04 [Khởi động nhanh] 2020-05-19 Cách cài đặt Phân phối Python Anaconda trên Ubuntu 20.04 2020-05-06 Cách cài đặt Python 3 và thiết lập môi trường lập trình trên server Ubuntu 20.04 2020-04-24 Cách cài đặt Python 3 và thiết lập môi trường lập trình trên server Ubuntu 18.04 2020-04-24 Cách cài đặt Python 3 và thiết lập môi trường lập trình trên Ubuntu 20.04 [Quickstart] 2020-04-24 |