Rekursive Funktionen können verwendet werden, wenn die Tiefe der verschachtelten Struktur nicht festgelegt ist. (Beim Umgang mit JSON-Dateidaten usw.)
Rufen Sie sich (Funktion) in einer Funktion auf. └ Wörtlich "rekursiv", kehre wieder zu dir zurück.
python
def sum(n):
#Ausgangsbedingungen
if n <= 0:
return n
#Nennen Sie sich(Rekursive Funktion)
return n + sum(n-1)
Wenn n = 4, addieren Sie die Zahlen 4,3,2,1 der Reihe nach.
Ergebnis der Funktionsausführung
sum(4)
#Ausgabe
10
Wenn Sie eine Ganzzahl größer oder gleich 0 eingeben
(1) Das erste, was ausgeführt werden muss, ist "n + Summe (n-1)" (2) Nachdem Sie einen numerischen Wert in n eingegeben haben, führen Sie "sum (n-1)" aus. └ Das Argument wird zu "n-1". (3) Wenn n-1 größer als 0 ist, wiederholen Sie "n + Summe (n-1)".
Daten können aus einem mehrdimensionalen Array erhalten werden, indem eine if-Anweisung, eine for-Anweisung und eine rekursive Funktion kombiniert werden.
python
data0 = [1,[2]]
def number(arr):
#Bereiten Sie eine Liste vor, um das Ergebnis zu platzieren
result=[]
#Zum Ergebnis hinzufügen, wenn es sich um eine Ganzzahl handelt
if isinstance(arr, int):
result.append(arr)
#Verarbeitung für Listentyp
if isinstance(arr, list):
for brr in arr:
#Rekursive Funktion. Ausführungsergebnis(result)Hinzufügen
result += number(brr)
#Funktionsrückgabewert
return result
number(data0)
#Ausgabe
[1, 2]
Legen Sie einen Rückgabewert fest. * Achten Sie auf den Standort
python
data1 = [1,[2],[[3]],[[[[4]]]],[[[[5,6,7],8,9]]],10]
def number(arr):
result=[]
if isinstance(arr, int):
result.append(arr)
if isinstance(arr, list):
for brr in arr:
result += number(brr)
return result
number(data1)
#Ausgabe
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Recommended Posts