Hướng dẫn how do you filter a list in python? - làm thế nào để bạn lọc một danh sách trong python?

Tóm tắt: Trong hướng dẫn này, bạn sẽ học cách lọc các yếu tố danh sách bằng cách sử dụng chức năng Python filter() tích hợp.: in this tutorial, you’ll learn how to filter list elements by using the built-in Python filter() function.

Giới thiệu về hàm Python Filter ()

Đôi khi, bạn cần lặp lại các yếu tố của một danh sách và chọn một số trong số chúng dựa trên các tiêu chí được chỉ định.

Giả sử rằng bạn có danh sách sau của scores:

scores = [70, 60, 80, 90, 50]

Code language: Python (python)

Để có được tất cả các phần tử từ danh sách scores trong đó mỗi phần tử lớn hơn hoặc bằng 70, bạn sử dụng mã sau:

scores = [70, 60, 80, 90, 50] filtered = [] for score in scores: if score >= 70: filtered.append(score) print(filtered)

Code language: Python (python)

Làm thế nào nó hoạt động.

  • Đầu tiên, xác định một danh sách trống (

    scores = [70, 60, 80, 90, 50] filtered = [] for score in scores: if score >= 70: filtered.append(score) print(filtered)

    Code language: Python (python)
    1) sẽ giữ các yếu tố từ danh sách scores.
  • Thứ hai, lặp lại các yếu tố của danh sách scores. Nếu phần tử lớn hơn hoặc bằng 70, hãy thêm nó vào danh sách

    scores = [70, 60, 80, 90, 50] filtered = [] for score in scores: if score >= 70: filtered.append(score) print(filtered)

    Code language: Python (python)
    1.
  • Thứ ba, hiển thị danh sách

    scores = [70, 60, 80, 90, 50] filtered = [] for score in scores: if score >= 70: filtered.append(score) print(filtered)

    Code language: Python (python)
    1 lên màn hình.

Python có chức năng tích hợp có tên là filter() cho phép bạn lọc danh sách (hoặc một tuple) theo cách đẹp hơn.

Sau đây cho thấy cú pháp của hàm filter():

filter(fn, list)

Code language: Python (python)

Hàm filter() lặp lại các phần tử của

scores = [70, 60, 80, 90, 50] filtered = [] for score in scores: if score >= 70: filtered.append(score) print(filtered)

Code language: Python (python)
9 và áp dụng hàm

filter(fn, list)

Code language: Python (python)
0 cho mỗi phần tử. Nó trả về một trình lặp cho các phần tử trong đó

filter(fn, list)

Code language: Python (python)
0 trả về

filter(fn, list)

Code language: Python (python)
2.

Trên thực tế, bạn có thể chuyển bất kỳ sự khác biệt nào cho đối số thứ hai của hàm filter(), không chỉ là một danh sách.

Sau đây chỉ ra cách sử dụng hàm filter() để trả về danh sách scores trong đó mỗi điểm lớn hơn hoặc bằng 70:

scores = [70, 60, 80, 90, 50] filtered = filter(lambda score: score >= 70, scores) print(list(filtered))

Code language: Python (python)

Output:

[70, 80, 90]

Code language: Python (python)

Vì hàm filter() trả về một trình lặp, bạn có thể sử dụng vòng lặp

filter(fn, list)

Code language: Python (python)
7 để lặp lại nó. Hoặc bạn có thể sử dụng chức năng

filter(fn, list)

Code language: Python (python)
8 để chuyển đổi trình lặp thành danh sách.

Sử dụng hàm Python Filter () để lọc danh sách các bộ dữ liệu ví dụ

Giả sử bạn có danh sách các bộ dữ liệu sau:

countries = [ ['China', 1394015977], ['United States', 329877505], ['India', 1326093247], ['Indonesia', 267026366], ['Bangladesh', 162650853], ['Pakistan', 233500636], ['Nigeria', 214028302], ['Brazil', 21171597], ['Russia', 141722205], ['Mexico', 128649565] ]

Code language: Python (python)

Mỗi yếu tố trong một danh sách là một tuple chứa tên và dân số của đất nước.

Để có được tất cả các quốc gia có dân số lớn hơn 300 triệu, bạn có thể sử dụng chức năng filter() như sau:

countries = [ ['China', 1394015977], ['United States', 329877505], ['India', 1326093247], ['Indonesia', 267026366], ['Bangladesh', 162650853], ['Pakistan', 233500636], ['Nigeria', 214028302], ['Brazil', 21171597], ['Russia', 141722205], ['Mexico', 128649565] ] populated = filter(lambda c: c[1] > 300000000, countries) print(list(populated))

Code language: Python (python)

Output:

[['China', 1394015977], ['India', 1326093247], ['United States', 329877505]]

Code language: Python (python)

Bản tóm tắt

  • Sử dụng hàm Python filter() để lọc danh sách (hoặc một tuple).

Bạn có thấy hướng dẫn này hữu ích không?

Làm thế nào để bạn lọc dữ liệu trong một danh sách trong Python?

Để lọc một danh sách trong Python, hãy sử dụng hàm FILE-IN-IN FILE () ...
A for Loop đi qua từng yếu tố của một danh sách ..
Nó kiểm tra xem một phần tử có thỏa mãn điều kiện không ..
Dựa trên điều kiện, nó thêm phần tử vào kết quả ..

Bạn có thể lọc một danh sách trong Python không?

Python có hàm tích hợp gọi là Filter () cho phép bạn lọc danh sách (hoặc một tuple) theo cách đẹp hơn. Hàm bộ lọc () lặp lại trên các phần tử của danh sách và áp dụng hàm fn () cho từng phần tử. Nó trả về một trình lặp cho các phần tử trong đó fn () trả về true.. The filter() function iterates over the elements of the list and applies the fn() function to each element. It returns an iterator for the elements where the fn() returns True .

Làm thế nào để bạn lọc dữ liệu từ một danh sách?

Lọc một phạm vi dữ liệu..
Chọn bất kỳ ô nào trong phạm vi ..
Chọn Dữ liệu> Bộ lọc ..
Chọn mũi tên tiêu đề cột ..
Chọn Bộ lọc văn bản hoặc Bộ lọc số, sau đó chọn một so sánh, như giữa ..
Nhập tiêu chí bộ lọc và chọn OK ..

Bộ lọc () làm gì trong Python?

Python's Filter () là một chức năng tích hợp cho phép bạn xử lý một thứ có thể lặp lại và trích xuất những mục đáp ứng 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.allows you to process an iterable and extract those items that satisfy a given condition. This process is commonly known as a filtering operation.