반응형

파이썬, filter() 예제


filter는 True인 것들의 이터레이터를 반환한다.
예제에서 is_even()은 평가 함수이며, None으로 지정할 수 있다.

 

# 주어진 리스트에서 짝수를 필터링하는 함수
def is_even(n):
    return n % 2 == 0

# filter()를 사용하여 주어진 리스트에서 짝수만 필터링
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = list(filter(is_even, numbers))
print(even_numbers)  # 출력: [2, 4, 6, 8, 10]

numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
nonzero_numbers = list(filter(None, numbers))
print(nonzero_numbers)  # 출력: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

bools = [True, False, True, False]
ret_bools = list(filter(None, bools))
print(ret_bools)  # 출력: [True, True]

 

# 반대로 평가하는 함수 (예제에서는 람다 함수를 이용했다)
# def not_bool(x):
#     return not bool(x)

ret_bools = list(filter(lambda x: not bool(x), bools))
print(ret_bools)  # 출력: [False, False]

 

반응형

+ Recent posts