[Python] Verstehen, wie rekursive Funktionen verwendet werden

[Python] Verstehen, wie rekursive Funktionen verwendet werden

Rekursive Funktionen können verwendet werden, wenn die Tiefe der verschachtelten Struktur nicht festgelegt ist. (Beim Umgang mit JSON-Dateidaten usw.)

Was ist eine rekursive Funktion?

Rufen Sie sich (Funktion) in einer Funktion auf. └ Wörtlich "rekursiv", kehre wieder zu dir zurück.

Hinweise zu rekursiven Funktionen

Illustration

Suchen Sie die Summe bis zur angegebenen Ganzzahl.

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

Inhalte verarbeiten

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

Extrahieren Sie Ganzzahlen aus einem mehrdimensionalen Array.

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


▼ Da keine Tiefe angegeben ist, können Sie in beliebig viele Dimensionen gehen. * Die Standardeinstellung ist bis zu 1.000 Mal

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

[Python] Verstehen, wie rekursive Funktionen verwendet werden
python3: Verwendung der Flasche (2)
Verstehen Sie, wie man Django-Filter verwendet
[Python] Verwendung von Liste 1
Python: Wie man pydub benutzt
[Python] Verwendung von checkio
[Python] Verwendung von input ()
Wie benutzt man Python Lambda?
[Python] Verwendung von virtualenv
python3: Verwendung der Flasche (3)
python3: Wie man eine Flasche benutzt
Verwendung von Python-Bytes
Python: So verwenden Sie Async mit
[Python] Verwendung der Pandas-Serie
Wie man MySQL mit Python benutzt
Verwendung der Python-API von OpenPose
Verwendung von ChemSpider in Python
Verwendung von PubChem mit Python
Verwendung der Zip-Funktion von Python
[Python] Verwendung der Typetalk-API
[Python] Zusammenfassung der Verwendung von Split- und Join-Funktionen
Vergleich der Verwendung von Funktionen höherer Ordnung in Python 2 und 3
[Python] Zusammenfassung der Verwendung von Pandas
[Einführung in Python] Wie verwende ich eine Klasse in Python?
So installieren und verwenden Sie pandas_datareader [Python]
[Python] Verwendung von __command__, Funktionserklärung
[Python] Verwendung von import sys sys.argv
Memorandum über die Verwendung von Gremlin Python
[Python2.7] Zusammenfassung der Verwendung von unittest
Python: Verwendung von Einheimischen () und Globalen ()
Verwendung von __slots__ in der Python-Klasse
Verwendung von "deque" für Python-Daten
Verwendung von Python zip und Aufzählung
Zusammenfassung der Verwendung der Python-Liste
Verwendung regulärer Ausdrücke in Python
[Python2.7] Zusammenfassung der Verwendung des Unterprozesses
Verwendung ist und == in Python
[Frage] Wie verwende ich plot_surface von Python?
Verwendung von Funktionen in separaten Dateien Perl-Version und Python-Version
Grundlegende Grammatik des Python3-Systems (Verwendung von Funktionen, Schließung, Lambda-Funktion)
Verwendung von xml.etree.ElementTree
Wie benutzt man Python-Shell
Hinweise zur Verwendung von tf.data
Verwendung von virtualenv
Wie benutzt man Seaboan?
Verwendung von Image-Match
So installieren Sie Python
Verwendung von Pandas 2
Verwendung von Virtualenv
Verwendung von pytest_report_header
So installieren Sie Python
Wie man Bio.Phylo benutzt
Verwendung von SymPy
Wie man x-means benutzt
Verwendung von WikiExtractor.py
Verwendung von IPython
Verwendung von virtualenv
Wie benutzt man Matplotlib?
Verwendung von iptables