Python 3: Variationen in der Implementierung von Filter, Map und Reduce
In Python 2 verhalten sich Filter, Map und Reduce unterschiedlich von ihren Python 3-Gegenstücken. Dies ist auf mehrere bedeutende Änderungen zurückzuführen, die in Python 3 implementiert wurden:
Ansichten und Iteratoren über Listen:
Entfernung von Reduce():
Beispielverwendung:
Die Python 2-Codefragmente können wie folgt für Python 3 aktualisiert werden :
def f(x): return x % 2 != 0 and x % 3 != 0 # **Filter:** Use list() to obtain a list of filtered values filtered_list = list(filter(f, range(2, 25))) # **Map:** Similarly, use list() to convert the iterator to a list cubed_list = list(map(lambda x: x ** 3, range(1, 11))) # **Reduce:** Use functools.reduce() or an explicit for loop from functools import reduce add_result = reduce(lambda x, y: x + y, range(1, 11)) print(filtered_list) # Output: [5, 7, 11, 13, 17, 19, 23] print(cubed_list) # Output: [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000] print(add_result) # Output: 55
Zusätzlich Ressourcen:
Das obige ist der detaillierte Inhalt vonWie haben sich „Filter', „Map' und „Reduce' in Python 3 geändert?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!