logo

filtre() en python

La méthode filter() filtre la séquence donnée à l'aide d'une fonction qui teste chaque élément de la séquence pour être vrai ou non.

Syntaxe du filtre Python()

La méthode filter() dans Python a la syntaxe suivante :



Syntaxe: filtre(fonction, séquence)

Paramètres:

écart type numpy
  • fonction: fonction qui teste si chaque élément d'une séquence est vrai ou non.
  • séquence: séquence qui doit être filtrée, il peut s’agir d’ensembles, de listes, de tuples ou de conteneurs de n’importe quel itérateur.

Retour: un itérateur déjà filtré.



Exemples de fonctions de filtre Python

Voyons quelques exemples de la fonction filter() en Python.

Fonction de filtre Python avec une fonction personnalisée

Dans cet exemple, nous utilisons la fonction de filtre avec une fonction personnalisée amusant() pour filtrer les voyelles du Liste Python .

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

>

>

Sortir:

The filtered letters are: e e>

Fonction de filtre en Python avec Lambda

La fonction Python filter() est normalement utilisée avec Fonctions Lambda . Dans cet exemple, nous utilisons la fonction lambda pour filtrer les nombres pairs et impairs d'une liste.

qu'est-ce que la mise en veille prolongée en Java

Python3




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

>

>

Sortir:

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

Fonction de filtre en Python avec Lambda et fonction personnalisée

Dans ce programme, nous utiliserons à la fois une fonction personnalisée est_multiple_of_3() ainsi qu'une fonction lambda. La fonction filter() est utilisée pour appliquer cette fonction à chaque élément de la liste de nombres, et la fonction lambda est utilisée pour parcourir chaque élément de la liste avant d'appliquer la condition. De cette façon, nous pouvons effectuer des opérations supplémentaires sur chaque élément avant d'appliquer la condition.

qu'est-ce que SVN Checkout

Python3


convertir un objet Java en json



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

>

>

Sortir

[3, 6, 9]>

Analyse de la complexité temporelle

  1. La fonction de filtre est utilisée pour filtrer la liste de nombres et applique la fonction lambda à chaque élément de la liste. La complexité temporelle de la fonction de filtre est O(n), où n est le nombre d'éléments dans la liste.
  2. La complexité temporelle de la fonction lambda est constante, O(1), puisqu'elle n'effectue qu'une seule opération arithmétique. Par conséquent, la complexité temporelle globale du programme est O(n).

Analyse de l'espace auxiliaire

Le programme utilise une liste pour stocker les nombres filtrés, de sorte que la complexité de l'espace est proportionnelle au nombre de nombres filtrés. Dans le pire des cas, si tous les nombres sont des multiples de 3, la liste filtrée contiendra n/3 éléments. Par conséquent, la complexité spatiale est O(n/3), ce qui se simplifie en O(n) en grande notation O.