Hàm Filter và ví dụ về hàm Filter trong Python
Trong Python, hàm filter()
được sử dụng để lọc các phần tử trong một iterable (có thể là list, tuple, set, v.v.) theo một điều kiện được định nghĩa bởi một hàm. Hàm filter()
sẽ trả về một iterable mới chỉ chứa các phần tử thỏa mãn điều kiện.
Cú pháp của hàm filter()
như sau:
filter(function, iterable)
Ở đây, function
là một hàm được áp dụng cho từng phần tử trong iterable
để kiểm tra xem phần tử đó có thỏa mãn điều kiện hay không.
Dưới đây là một số ví dụ minh họa cho hàm filter()
trong Python:
Ví dụ 1: Lọc các số chẵn trong một list
# Lọc các số chẵn trong một list
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(lambda x: x % 2 == 0, numbers))
print(even_numbers) # Output: [2, 4, 6, 8, 10]
Ở đây, hàm lambda x: x % 2 == 0
được sử dụng để kiểm tra xem một số có phải là số chẵn hay không.
Ví dụ 2: Lọc các chuỗi có độ dài lớn hơn 5 ký tự trong một list
# Lọc các chuỗi có độ dài lớn hơn 5 ký tự trong một list
words = ["hello", "world", "python", "is", "awesome"]
long_words = list(filter(lambda x: len(x) > 5, words))
print(long_words) # Output: ['python', 'awesome']
Ở đây, hàm lambda x: len(x) > 5
được sử dụng để kiểm tra xem một chuỗi có độ dài lớn hơn 5 ký tự hay không.
Ví dụ 3: Lọc các số nguyên tố trong một list
# Lọc các số nguyên tố trong một list
def is_prime(num):
if num < 2:
return False
for i in range(2, num):
if num % i == 0:
return False
return True
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
prime_numbers = list(filter(is_prime, numbers))
print(prime_numbers) # Output: [2, 3, 5, 7]