Heim >Backend-Entwicklung >Python-Tutorial >Einführung in integrierte Funktionen in Python3
In Python3 sind Filter, Map und Reduce keine integrierten Funktionen mehr, d. h. 94c93e051ce796aa5e29779b2cb8a767. In Python3 sind die drei Klassen und das Rückgabeergebnis wird zu einem iterierbaren Objekt
Verwenden Sie die Funktionsfilterbedingung, um die gewünschten Daten in iterable abzurufen.
from collections import Iterator test_list = [1, 2, 3, 4, 5, 6, 7, 8, 9] f = filter(lambda x: x % 3 == 0, test_list) # filter 得到的是一个迭代器 print(isinstance(f, Iterator)) f.__next__() for i in f: print(i) #输出 True 6 9
Akzeptiert eine Funktion und ein iterierbares Objekt (z. B. eine Liste usw.) und wendet die Funktion nacheinander auf jedes Element der Sequenz an, um einen neuen Iterator zu bilden.
from collections import Iterator def f(x): return 2 * x # 定义一个函数 t_list = [1, 2, 3, 4, 5] function = map(f, t_list) print(isinstance(function, Iterator)) # print(function.__next__()) function.__next__() for i in function: print(i) #输出 True 4 6 8 10
reduce wendet eine Funktion auf eine iterierbare Sequenz an. Diese Funktion muss With two erhalten Parameter, Reduce setzt das Ergebnis fort und führt kumulative Berechnungen mit dem nächsten Element der Sequenz durch
Die Reduce-Funktion ist nicht mehr in Python3 integriert, sondern befindet sich im Functools-Modul, wenn Sie sie verwenden müssen it, Muss aus dem Functools-Modul importiert werden
from functools import reduce f = reduce(lambda x, y: x*y, [1, 2, 4]) print(f) #输出 8
Konvertieren Sie eine Zahl in eine Hexadezimalzahl
>>> hex(23) '0x17'
Erzeuge ein iterierbares Objekt
>>> from collections import Iterator >>> isinstance(range(5),Iterator) False >>> from collections import Iterable >>> isinstance(range(5),Iterable) True >>> f.__next__ Traceback (most recent call last): File "<stdin>", line 1, in <module> AttributeError: 'range' object has no attribute '__next__' >>> for i in f: ... print(i) ... 0 1 2 3 4 # range(x) 是一个可迭代对象,而不是一个迭代器
Bestimmen Sie, ob eine Sequenz ein iterierbares Objekt oder ein Iterator ist
Konvertieren Sie andere Sequenzen in eine Liste
>>> list((1,2,3,4,5)) #把一个元组转换为一个列表 [1, 2, 3, 4, 5]
Konvertieren Sie den Code in ein String-Objekt.
Sequenzausschnitt
>>> a = [1,2,3,4,5,6] >>> a[slice(1,3)] [2, 3] >>> a[1:3] [2, 3]
>>> sorted([5,3,2,6,8]) [2, 3, 5, 6, 8] >>> a = {1:5,6:8,3:6} >>> sorted(a) #默认是按key排序 [1, 3, 6] >>> sorted(a.items()) #按key排序 [(1, 5), (3, 6), (6, 8)] >>> sorted(a.items(),key = lambda x:x[1]) #按value排序 [(1, 5), (3, 6), (6, 8)]
wird verwendet, um die Elemente in der Liste umzukehren. Diese Methode hat keinen Rückgabewert, aber sie kehrt die Elemente der Liste um.
a = [1,2,4,5,3,7] a.reverse() a [7, 3, 5, 4, 2, 1]
Das obige ist der detaillierte Inhalt vonEinführung in integrierte Funktionen in Python3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!