[PYTHON] Wenn Sie eine Liste mit dem Standardargument der Funktion angeben ...

1


def test(x, l=[]): 
    l.append(x)
    return l

y = [1, 2, 3, 4]
r = test(7, y)
print(r)

Ausführungsergebnis von 1


[1, 2, 3, 4, 7]

2


def test(x, l=[]): 
    l.append(x)
    return l

r = test(100)
print(r)
r = test(100)
print(r)

Ausführungsergebnis von 2


[100]
[100, 100]

Ich wollte den gleichen Prozess zweimal machen, Beim zweiten Mal wird 100 zu zwei.

Dies geschieht, weil die Liste als Referenz übergeben wird. Weil es oft zu Fehlern führt Übergeben Sie keine Verweise wie Listen und Wörterbücher als Standardargumente.

Schreiben Sie also wie folgt.

3


def test(x, l=None):
    if l is None:
        l = []
    l.append(x)
    return l

y = [1, 2, 3, 4]
r = test(7, y)
print(r)

r = test(100)
print(r)
r = test(100)
print(r)

Ausführungsergebnis von 3


[1, 2, 3, 4, 7]
[100]
[100]

Recommended Posts

Wenn Sie eine Liste mit dem Standardargument der Funktion angeben ...
Finden Sie den optimalen Wert der Funktion mit einem genetischen Algorithmus (Teil 2)
Vorsichtsmaßnahmen bei Verwendung einer Liste oder eines Wörterbuchs als Standardargument
Machen Sie den Standardwert des Arguments unveränderlich
Wenn Sie einen Singleton in Python möchten, stellen Sie sich das Modul als Singleton vor
Generieren Sie eine Liste mit der Anzahl der Tage im aktuellen Monat.
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
Erhalten Sie eine Liste der Ergebnisse der Parallelverarbeitung in Python mit Starmap
Holen Sie sich den Aufrufer einer Funktion in Python
Kopieren Sie die Liste in Python
Holen Sie sich eine Liste der IAM-Benutzer mit Boto3
Korrigieren Sie die Argumente der in map verwendeten Funktion
Wenn ihr in der Scope-Küche das mit einem Rand machen könnt ~ ♪
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Python] Wäre es nicht das Beste und Höchste, wenn Sie die Unternehmensmerkmale mit nlplot erfassen könnten?
Geben Sie kein veränderbares Objekt (Listentyp, Wörterbuchtyp usw.) als Anfangswert des Funktionsarguments von Python an.
Wenn Sie eine Methode in einer Ruby-Klasse definieren und dann eine Methode darin definieren, wird sie zu einer Methode der ursprünglichen Klasse.
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
Notieren Sie sich die Liste der grundlegenden Verwendungszwecke von Pandas
#Eine Funktion, die den Zeichencode einer Zeichenfolge zurückgibt
Machen Sie den Standardwert des Arguments unveränderlich (Artikelerklärung)
Visualisieren Sie das charakteristische Vokabular eines Dokuments mit D3.js.
Ich habe das Argument class_weight von Chainers Funktion softmax_cross_entropy untersucht.
So überprüfen Sie in Python, ob sich eines der Elemente einer Liste in einer anderen Liste befindet
Berechnen Sie das Produkt von Matrizen mit einem Zeichenausdruck?
Der Wert von meta beim Angeben einer Funktion ohne Rückgabewert mit Dask dataframe gilt
Notieren Sie sich, was Sie in Zukunft mit Razpai machen möchten
Geben Sie dem Befehl history ein Datum und eine Uhrzeit ein und sammeln Sie Verlaufsdateien aller Benutzer mit einem Skript
Wenn Sie ein Argument in die Abschlussfunktion einfügen und später ausführen möchten
Wenn Sie eine Lotterie mit einer Chance von 1% ziehen, 100 Mal hintereinander zu erscheinen, werden Sie dann einmal gewinnen?
Versuchen Sie, die Funktionsliste des Python> os-Pakets abzurufen
Mit den Daten von COVID-19 wurde ein Netzwerkdiagramm erstellt.
Messen Sie die Wichtigkeit von Features mit einem zufälligen Gesamtstrukturwerkzeug
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Holen Sie sich eine Liste der mit Python + Selen gekauften DMM-E-Books
Ich habe eine Funktion erstellt, um das Modell von DCGAN zu überprüfen
So zeigen Sie eine Liste der mit pyenv installierbaren Versionen an
Ich habe ein wenig versucht, das Verhalten der Zip-Funktion
Extrahieren Sie den Wert von dict oder list als Zeichenfolge
Analysieren Sie das Themenmodell, mit GensimPy3 Romanautor zu werden
26.11.2015 Python> Funktionsliste des Moduls anzeigen> Mathematik importieren> Verzeichnis (Mathematik)
Die Geschichte, wie man mit discord.py einen Fragenkasten-Bot erstellt
So verbinden Sie den Inhalt der Liste mit einer Zeichenfolge
[Django] Was tun, wenn das zu erstellende Modell viele Felder enthält?
Dekorateur, der AWS-SNS benachrichtigt, wenn die Funktion nicht innerhalb der angegebenen Zeit beendet wird
Beweisen wir den Additionssatz einer Dreiecksfunktion, indem wir die Funktion durch eine Funktion in SymPy ersetzen (≠ Substitution).
Verarbeiten Sie den Inhalt der Datei der Reihe nach mit einem Shell-Skript
Eine Geschichte, die mit der Installation der maschinellen Lernbibliothek JAX zusammenhängt
Wenn Sie Datenwissenschaftler werden möchten, beginnen Sie mit Kaggle
Ermitteln Sie die Anzahl der PVs von Qiita-Artikeln, die Sie mit API veröffentlicht haben
Ich habe versucht, den Index der Liste mithilfe der Aufzählungsfunktion abzurufen
[Statistik] Erfassen Sie das Bild der zentralen Polbegrenzungstheorie mit einem Diagramm
[Python, Ruby] Selen-Holen Sie sich Webseiteninhalte mit Webdriver
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split