Heim >Backend-Entwicklung >Python-Tutorial >Wie berechnet man die Summe von Listen-Ganzzahlen mithilfe der Rekursion in Python?
Rekursion in Python verstehen: Ganzzahlen in Listen summieren
Rekursion ist eine Programmiertechnik, bei der sich eine Funktion wiederholt selbst aufruft, um kleinere Instanzen eines Problems zu lösen bis ein Grundzustand erreicht ist. In Python können wir Rekursion auf verschiedene Aufgaben anwenden, einschließlich der Berechnung von Summen von Listen-Ganzzahlen.
Rekursive Funktion: listSum
Um eine rekursive Funktion listSum zu definieren, die eine Liste akzeptiert von ganzen Zahlen und gibt ihre Summe zurück, können wir das Problem wie folgt aufschlüsseln:
Einfache Version:
<code class="python">def listSum(ls): # Base condition if not ls: return 0 # First element + result of calling `listsum` with rest of the elements return ls[0] + listSum(ls[1:])</code>
Tail Call Rekursion:
Zur Verbesserung der Effizienz , können wir die aktuelle Summe an den Funktionsparameter übergeben:
<code class="python">def listSum(ls, result): # Base condition if not ls: return result # Call with next index and add the current element to result return listSum(ls[1:], result + ls[0])</code>
Passing Around Index Version:
Um die Erstellung von Zwischenlisten zu vermeiden, können wir den Index von übergeben das aktuelle Element:
<code class="python">def listSum(ls, index, result): # Base condition if index == len(ls): return result # Call with next index and add the current element to result return listSum(ls, index + 1, result + ls[index])</code>
Version der inneren Funktion:
Um den Code zu vereinfachen, können wir eine rekursive innere Funktion definieren:
<code class="python">def listSum(ls): def recursion(index, result): # Base condition if index == len(ls): return result # Call with next index and add the current element to result return recursion(index + 1, result + ls[index]) return recursion(0, 0)</code>
Version der Standardparameter:
Mit Standardparametern können wir weiter vereinfachen:
<code class="python">def listSum(ls, index=0, result=0): # Base condition if index == len(ls): return result # Call with next index and add the current element to result return listSum(ls, index + 1, result + ls[index])</code>
Das obige ist der detaillierte Inhalt vonWie berechnet man die Summe von Listen-Ganzzahlen mithilfe der Rekursion in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!