Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình lọc tất cả giá trị lớn hơn x trong mảng


Giả sử chúng ta có một danh sách các số gọi là nums. Chúng ta cũng có một số x khác. Chúng ta phải tìm tất cả các số từ nums nhỏ hơn x bằng cách lọc. Trong Python có phương thức filter() nhận hàm làm đối số và lọc bằng hàm này.

Vì vậy, nếu đầu vào là nums = [1,5,8,3,6,9,12,77,55,36,2,5,6,12,87] x = 50, thì đầu ra sẽ là [1, 5, 8, 3, 6, 9, 12, 36, 2, 5, 6, 12].

Để giải quyết vấn đề này, chúng ta sẽ làm theo các bước sau:

  • định nghĩa hàm f, nhận tham số a

  • nếu a < x, trả về true, ngược lại false

  • left_items := lọc nums bằng hàm f

  • chuyển đối tượng filter left_items thành list và trả về

Ví dụ

Hãy xem triển khai sau để hiểu rõ hơn:

def solve(nums, x):
    left_items = filter(lambda a: a < x, nums)
    return list(left_items)

nums = [1,5,8,3,6,9,12,77,55,36,2,5,6,12,87]
x = 50
print(solve(nums, x))

Đầu vào

[1,5,8,3,6,9,12,77,55,36,2,5,6,12,87], 50

Đầu ra

[1, 5, 8, 3, 6, 9, 12, 36, 2, 5, 6, 12]