Heim  >  Artikel  >  Backend-Entwicklung  >  Wie berechnet man die Summe von Listen-Ganzzahlen mithilfe der Rekursion in Python?

Wie berechnet man die Summe von Listen-Ganzzahlen mithilfe der Rekursion in Python?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-21 12:02:33685Durchsuche

How to Calculate Sum of List Integers Using Recursion 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:

  • Grundbedingung: Wenn die Liste leer ist (Liste == []), ist die Summe 0.
  • Rekursiver Schritt: Wenn die Liste nicht leer ist, ist die Summe das erste Element (list[0]) plus die Summe der verbleibenden Elemente (listSum(list[1: ])).

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn