logo

filtrs () programmā python

Filtrs() metode filtrē doto secību, izmantojot funkciju, kas pārbauda, ​​vai katrs secības elements ir patiess vai nē.

Python filter() Sintakse

Filtra() metode iekšā Python ir šāda sintakse:

Sintakse: filtrs (funkcija, secība)



Parametri:

mākslīgais intelekts un viedie aģenti
  • funkcija: funkcija, kas pārbauda, ​​vai katrs secības elements ir patiess vai nē.
  • secība: secība, kas jāfiltrē, tā var būt jebkura iteratora kopas, saraksti, korteži vai konteineri.

Atgriež: iterators, kas jau ir filtrēts.

Python filtra funkciju piemēri

Apskatīsim dažus Python funkcijas filtra () piemērus.

Python filtra funkcija ar pielāgotu funkciju

Šajā piemērā mēs izmantojam filtra funkciju kopā ar pielāgotu funkciju jautri () lai filtrētu patskaņus no Python saraksts .

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)>

>

>

Izvade:

The filtered letters are: e e>

Filtra funkcija Python ar Lambda

Python filter() funkcija parasti tiek izmantota ar Lambda funkcijas . Šajā piemērā mēs izmantojam lambda funkciju, lai no saraksta filtrētu nepāra un pāra skaitļus.

Python3


git statuss -s



java kā pārvērst virkni par int
# 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))>

>

>

Izvade:

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

Filtra funkcija Python ar Lambda un pielāgoto funkciju

Šajā programmā mēs izmantosim gan pielāgotu funkciju ir_vairāki_no_3() kā arī lambda funkcija. Funkcija filter() tiek izmantota, lai lietotu šo funkciju katram skaitļu saraksta elementam, un funkcija lambda tiek izmantota, lai pirms nosacījuma piemērošanas atkārtotu katru saraksta elementu. Tādā veidā mēs varam veikt papildu darbības ar katru elementu pirms nosacījuma piemērošanas.

Python3




# 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)>

kaudze kārtot
>

>

Izvade

[3, 6, 9]>

Laika sarežģītības analīze

  1. Filtra funkcija tiek izmantota, lai filtrētu skaitļu sarakstu, un tā piemēro lambda funkciju katram saraksta elementam. Filtra funkcijas laika sarežģītība ir O(n), kur n ir elementu skaits sarakstā.
  2. Lambda funkcijas laika sarežģītība ir nemainīga O(1), jo tā veic tikai vienu aritmētisku darbību. Tāpēc programmas kopējā laika sarežģītība ir O(n).

Papildtelpas analīze

Programma izmanto sarakstu, lai saglabātu filtrētos skaitļus, tāpēc telpas sarežģītība ir proporcionāla filtrēto skaitļu skaitam. Sliktākajā gadījumā, ja visi skaitļi ir 3 reizes, filtrētajā sarakstā būs n/3 elementi. Tāpēc telpas sarežģītība ir O (n/3), kas vienkāršo līdz O (n) lielajā O apzīmējumā.