Computer >> Máy Tính >  >> Lập trình >> Python

Python - Lọc các giá trị chẵn từ danh sách

Là một phần của phân tích dữ liệu, yêu cầu lọc ra các giá trị từ danh sách đáp ứng các tiêu chí nhất định. Trong bài viết này, chúng ta sẽ xem cách chỉ lọc ra các giá trị chẵn từ danh sách.

Chúng ta phải đi qua từng phần tử của danh sách và chia nó cho 2 để kiểm tra phần còn lại. Nếu phần dư bằng 0 thì ta coi nó là số chẵn. Sau khi tìm nạp các số chẵn này từ một danh sách, chúng tôi sẽ đặt điều kiện để tạo một danh sách mới loại trừ các số chẵn này. Danh sách mới đó là kết quả của điều kiện lọc mà chúng tôi đã áp dụng.

Sử dụng cho Vòng lặp

Đây là cách đơn giản nhất để đọc phần tử của danh sách và kiểm tra tính chất chia hết với 2. Đoạn mã dưới đây chứa vòng lặp for đọc các phần tử và kiểm tra tính chất chia hết cho 2. Sau đó, nó nối phần tử chính xác vào một danh sách trống, đó sẽ là kết quả của điều kiện lọc.

Ví dụ

list_A = [33, 35, 36, 39, 40, 42]

res = []

for n in list_A:
   if n % 2 == 0:
      res.append(n)
print(res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau:

[36, 40, 42]

Sử dụng Vòng lặp Trong khi

Khi chúng ta có danh sách độ dài chưa biết, chúng ta có thể sử dụng vòng lặp while và hàm len () để đạt được điều tương tự trong chương trình trên.

Ví dụ

list_A = [33, 35, 36, 39, 40, 42]

res = []
n = 0

while (n < len(list_A)):
   if list_A[n] % 2 == 0:
      res.append(list_A[n])
   n += 1
print(res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau:

[36, 40, 42]

Sử dụng bộ lọc ()

Chúng ta cũng có thể sử dụng kết hợp lambda và hàm bộ lọc. Các mục được chọn bởi hàm lambda có thể được lọc ra khỏi danh sách ban đầu bằng cách áp dụng chức năng lọc.

Ví dụ

list_A = [33, 35, 36, 39, 40, 42]

res = []

x = lambda m: m % 2 == 0
res = list(filter(x, list_A))

print(res)

Đầu ra

Chạy đoạn mã trên cho chúng ta kết quả sau:

[36, 40, 42]