Heim  >  Artikel  >  Backend-Entwicklung  >  Detaillierte Erläuterung des integrierten Funktionsfilters in Python

Detaillierte Erläuterung des integrierten Funktionsfilters in Python

黄舟
黄舟Original
2017-06-04 10:17:141381Durchsuche

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.
 """

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

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

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

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

Stellungnahme:
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