Maison > développement back-end > Tutoriel Python > Explication détaillée du filtre de fonction intégré en python

Explication détaillée du filtre de fonction intégré en python

黄舟
Libérer: 2017-06-04 10:17:14
original
1444 Les gens l'ont consulté

Cet article présente principalement les informations pertinentes de python fonction intégrée filtre Les amis qui en ont besoin peuvent se référer à

filtre de fonction intégré python<.>

class filter(object):
 """
 filter(function or None, iterable) --> filter object
 
 Return an iterator yielding those items of iterable for which function(item)
 is true. If function is None, return the items that are true.
 """
Copier après la connexion

filter(func, iterator)

func : La valeur obtenue dans une fonction personnalisée ou

anonyme est une valeur booléenne , true conservera la fonction. La valeur obtenue, si false, est inversée. itérateur : objet
itérable .

Exemple :

Liste de filtres ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']

Tant qu'elle contient du texte
String et supprimez-le ou annulez-le.

s.rfind'text'+1

rfind() en Python3 renvoie la position de la dernière occurrence de la chaîne, s'il y a il n'y a pas de correspondance. Renvoie -1.

0 en nombres est faux, et
entiers au-dessus de 0 sont vrais, donc il y aura +1 après s.rfind'text', aucun caractère trouvé et -1+1=0.

# Filtre

li = [&#39;text_test_text&#39;, &#39;test_text_1&#39;, &#39;text_test_2&#39;, &#39;3_test_text&#39;, &#39;test_test&#39;]

# 默认保留函数所取到的值
print(list(filter(lambda s: s.rfind(&#39;text&#39;) + 1, li)))
# 取反,下三个例子是一样的
print(list(filter(lambda s: not s.rfind(&#39;text&#39;) + 1, li)))
Copier après la connexion

# Noe Fonction personnalisée

l1 = [&#39;text_test_text&#39;, &#39;test_text_1&#39;, &#39;text_test_2&#39;, &#39;3_test_text&#39;, &#39;test_test&#39;]


def distinguish(l):
 nl = []
 for s in l:
  if s.rfind("text") + 1:
   nl.append(s)
 return nl


print(distinguish(l1))
Copier après la connexion

# Deux fonctions personnalisées d'ordre supérieur

l2 = [&#39;text_test_text&#39;, &#39;test_text_1&#39;, &#39;text_test_2&#39;, &#39;3_test_text&#39;, &#39;test_test&#39;]


def f(s):
 return s.rfind(&#39;text&#39;) + 1


def distinguish(func, array):
 nl = []
 for s in array:
  if func(s):
   nl.append(s)
 return nl


print(distinguish(f, l2))
Copier après la connexion

# Trois fonctions anonymes

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal