・ Ich habe den Lambda-Ausdruckscode am Vortag in Qiita gepostet, aber er verstößt gegen PEP8 und der Lambda-Ausdruck funktioniert. Ich dachte, es würde nicht zu Selbstwachstum führen, wenn ich es bestätigen würde. Während ich verstand, wie man die Kartenfunktion und die Filterfunktion verwendet, die oft im Netz laufen, spürte ich den Wert des Lambda-Ausdrucks.
[Python] Wie benutzt man Lambda-Ausdrücke? ?? [Kritzelt] [Erster Beitrag] https://qiita.com/sho_cullni/items/aba9a09b30abb20cfd1a
Eine Funktion, die die Funktionsverarbeitung für eine Liste ausführt und einen Rückgabewert ausgibt
map(Funktion,Liste etc.)
Ich habe versucht, einen Code zu erstellen, der sich für eine bestimmte Liste verdreifacht
map_test.py
num_list = [-4, -3, -2, -1, 0, 1, 2, 3, 4]
triple_num_list = map(lambda x: x * 3, num_list)
print(list(triple_num_list))
Wenn Sie den obigen Code mit def reproduzieren möchten, zum Beispiel:
def triple(x):
x = x * 3
return x
num_list = [-4, -3, -2, -1, 0, 1, 2, 3, 4]
print(list(map(triple,num_list)))
Das Ausgabeergebnis, wenn die obigen zwei Codes ausgeführt werden, ist wie folgt
[-12, -9, -6, -3, 0, 3, 6, 9, 12]
Eine Funktion, die eine Funktion in einer Liste usw. ausführt und nur diejenigen als Rückgabewerte ausgibt, die die Bedingungen erfüllen (True werden).
filter(Funktion,Liste etc.)
Ich habe einen Code erstellt, der ein Vielfaches von 3 für eine bestimmte Liste abruft (Ein Gefühl von Nabeatsu in der Welt)
filter_test.py
num_list = [1, 2, 3, 4, 5, 6]
aho = filter(lambda x: x % 3 == 0, num_list)
print(list(aho))
Wenn Sie den obigen Code mit def reproduzieren möchten, zum Beispiel:
def ahoaho(x):
for i in x:
if i % 3 == 0:
aho.append(i)
aho = []
num_list = [1, 2, 3, 4, 5, 6]
ahoaho(num_list)
print(list(aho))
Das Ausgabeergebnis, wenn die obigen zwei Codes ausgeführt werden, ist wie folgt
[3, 6]
Ich habe kommentiert, also werde ich es hinzufügen! Vielen Dank für Ihren Kommentar jedes Mal! (^^) / Ich hoffe in Zukunft zu aktualisieren, was passiert, wenn ich in def schreibe ...!
Um genau zu sein, handelt es sich auch nicht um eine Lambda-Funktion, sondern um einen Lambda-Ausdruck. Entschuldigung. Ich habe es repariert!
・ Mit den folgenden Grammatiken können Sie Folgendes tun sortierte Funktion: Sortiert in aufsteigender oder absteigender Reihenfolge nach dem Ergebnis der Funktion. max function: Extrahiert die größten Daten für das Ergebnis der Funktion. min-Funktion: Extrahiert die kleinsten Daten für das Ergebnis der Funktion.
sorted(Liste etc.,Funktion)・ ・ ・ Max und Min sind gleich, daher kann es gut sein, sich gemeinsam an sie zu erinnern!
・ Als Thema mag es nicht sehr gut sein, aber die Anzahl der mit dem Coronavirus infizierten Personen scheint leicht vorstellbar zu sein Versuchen Sie zu sortieren, die Präfekturen mit den meisten Infektionen aufzulisten und umgekehrt.
sample.py
corona_infected = [["Tokyo", 11611],["Saitama", 2142],["Chiba",1512],["kanagawa", 2283]]
#Codebeispiel für sortierte Funktion, Max-Funktion, Min-Funktion
corona = sorted(corona_infected, key=lambda x: x[1])
corona_max = max(corona_infected,key=lambda x: x[1])
corona_min = min(corona_infected,key=lambda x: x[1])
#Ausgabe an die Konsole
print(corona_infected)
print(corona)
print(corona_max)
print(corona_min)
Das Ausgabeergebnis, wenn die obigen zwei Codes ausgeführt werden, ist wie folgt
[['Tokyo', 11611], ['Saitama', 2142], ['Chiba', 1512], ['kanagawa', 2283]]
[['Chiba', 1512], ['Saitama', 2142], ['kanagawa', 2283], ['Tokyo', 11611]]
['Tokyo', 11611]
['Chiba', 1512]