Detaillierte Erläuterung des integrierten Funktionsfilters in Python

黄舟
Freigeben: 2017-06-04 10:17:14
Original
1425 Leute haben es durchsucht

In diesem Artikel werden hauptsächlich die relevanten Informationen zum Python integrierte Funktion Filter vorgestellt. Freunde, die sie benötigen, können sich auf

Python-integrierter Funktionsfilter

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.
 """
Nach dem Login kopieren

filter(func, iterator)

func: Der in einer benutzerdefinierten oder

anonymen Funktion erhaltene Wert ist ein boolescher Wert , true behält die Funktion bei. Der erhaltene Wert wird bei false invertiert. Iterator: iterierbares
Objekt .

Beispiel:

Filterliste ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']

Solange es enthält Text
String und entfernen Sie ihn oder negieren Sie ihn.

s.rfind'text'+1

rfind() in Python3 gibt die Position des letzten Vorkommens der Zeichenfolge zurück, falls vorhanden ist keine Übereinstimmung. Gibt -1 zurück.

0 in Zahlen ist falsch und
Ganzzahlen über 0 sind wahr, daher wird nach s.rfind'text' +1 stehen, kein Zeichen gefunden und -1+1=0.

# Filter

li = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']

# 默认保留函数所取到的值
print(list(filter(lambda s: s.rfind('text') + 1, li)))
# 取反,下三个例子是一样的
print(list(filter(lambda s: not s.rfind('text') + 1, li)))
Nach dem Login kopieren

# Nein Benutzerdefinierte Funktion

l1 = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']


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


print(distinguish(l1))
Nach dem Login kopieren

# Zwei Benutzerdefinierte Funktionen höherer Ordnung

l2 = ['text_test_text', 'test_text_1', 'text_test_2', '3_test_text', 'test_test']


def f(s):
 return s.rfind('text') + 1


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


print(distinguish(f, l2))
Nach dem Login kopieren

# Drei anonyme Funktionen

Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung des integrierten Funktionsfilters in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage