logo

파이썬의 필터()

filter() 메서드는 시퀀스의 각 요소가 참인지 아닌지 테스트하는 함수를 사용하여 주어진 시퀀스를 필터링합니다.

Python 필터() 구문

filter() 메소드는 파이썬 다음과 같은 구문이 있습니다.



통사론: 필터(함수, 시퀀스)

매개변수:

리눅스 디렉토리 이름 바꾸기
  • 기능: 시퀀스의 각 요소가 참인지 아닌지 테스트하는 함수입니다.
  • 순서: 필터링해야 하는 시퀀스는 집합, 목록, 튜플 또는 모든 반복자의 컨테이너일 수 있습니다.

보고: 이미 필터링된 반복자입니다.



Python 필터 함수 예

Python의 filter() 함수에 대한 몇 가지 예를 살펴보겠습니다.

사용자 정의 함수가 있는 Python 필터 함수

이 예에서는 사용자 정의 함수와 함께 필터 함수를 사용하고 있습니다. 재미있는() 모음을 필터링하려면 파이썬 목록 .

파이썬






# function that filters vowels> def> fun(variable):> >letters>=> [>'a'>,>'e'>,>'i'>,>'o'>,>'u'>]> >if> (variable>in> letters):> >return> True> >else>:> >return> False> # sequence> sequence>=> [>'g'>,>'e'>,>'e'>,>'j'>,>'k'>,>'s'>,>'p'>,>'r'>]> # using filter function> filtered>=> filter>(fun, sequence)> print>(>'The filtered letters are:'>)> for> s>in> filtered:> >print>(s)>

>

>

산출:

The filtered letters are: e e>

Lambda를 사용하는 Python의 필터 함수

Python filter() 함수는 일반적으로 다음과 함께 사용됩니다. 람다 함수 . 이 예에서는 람다 함수를 사용하여 목록에서 홀수와 짝수를 필터링합니다.

유튜브 비디오 vlc 다운로드

파이썬3




# a list contains both even and odd numbers.> seq>=> [>0>,>1>,>2>,>3>,>5>,>8>,>13>]> # result contains odd numbers of the list> result>=> filter>(>lambda> x: x>%> 2> !>=> 0>, seq)> print>(>list>(result))> # result contains even numbers of the list> result>=> filter>(>lambda> x: x>%> 2> =>=> 0>, seq)> print>(>list>(result))>

>

>

산출:

[1, 3, 5, 13] [0, 2, 8]>

Lambda 및 사용자 지정 함수를 사용하는 Python의 필터 함수

이 프로그램에서는 사용자 정의 함수를 모두 사용합니다. is_multiple_of_3() 람다 함수도 마찬가지입니다. filter() 함수는 이 함수를 숫자 목록의 각 요소에 적용하는 데 사용되며, 람다 함수는 조건을 적용하기 전에 목록의 각 요소를 반복하는 데 사용됩니다. 이런 방식으로 조건을 적용하기 전에 각 요소에 대해 추가 작업을 수행할 수 있습니다.

자바스크립트로 자다

파이썬3


캐스트 SQL



# Define a function to check> # if a number is a multiple of 3> def> is_multiple_of_3(num):> >return> num>%> 3> =>=> 0> # Create a list of numbers to filter> numbers>=> [>1>,>2>,>3>,>4>,>5>,>6>,>7>,>8>,>9>,>10>]> # Use filter and a lambda function to> # filter the list of numbers and only> # keep the ones that are multiples of 3> result>=> list>(>filter>(>lambda> x: is_multiple_of_3(x), numbers))> # Print the result> print>(result)>

>

>

산출

[3, 6, 9]>

시간 복잡도 분석

  1. 필터 함수는 숫자 목록을 필터링하는 데 사용되며 목록의 각 요소에 람다 함수를 적용합니다. 필터 함수의 시간 복잡도는 O(n)입니다. 여기서 n은 목록의 요소 수입니다.
  2. 람다 함수의 시간 복잡도는 단일 산술 연산만 수행하므로 O(1)로 일정합니다. 따라서 프로그램의 전체 시간복잡도는 O(n)이다.

보조 공간 분석

프로그램은 목록을 사용하여 필터링된 숫자를 저장하므로 공간 복잡도는 필터링된 숫자의 수에 비례합니다. 최악의 경우 모든 숫자가 3의 배수인 경우 필터링된 목록에는 n/3개의 요소가 포함됩니다. 따라서 공간 복잡도는 O(n/3)이며, 이는 빅 O 표기법으로 O(n)으로 단순화됩니다.