Heim >Backend-Entwicklung >Python-Tutorial >Wie übergeben Sie Wörterbuchwerte als einzelne Parameter an eine Python-Funktion?

Wie übergeben Sie Wörterbuchwerte als einzelne Parameter an eine Python-Funktion?

Susan Sarandon
Susan SarandonOriginal
2024-11-19 20:54:02271Durchsuche

How do you pass dictionary values as individual parameters to a Python function?

Wörterbücher als Schlüsselwortparameter übergeben

In Python kann die Übergabe von Wörterbüchern an Funktionen von Vorteil sein, wenn Sie mehrere Parameter mit bestimmten Schlüsselwortparametern bereitstellen möchten. Wertepaare. Wenn das Ziel jedoch darin besteht, einzelne Werte für jeden Parameter zu übergeben, führt ein einfacher Ansatz möglicherweise nicht zu den erwarteten Ergebnissen.

Szenario 1: Übergabe eines Wörterbuchs mit einem einzelnen Schlüssel-Wert-Paar

Betrachten Sie den folgenden Code:

d = dict(param='test')

def f(param):
    print(param)

f(d)

In diesem Szenario ist die erwartete Ausgabe „test“, aber stattdessen gibt der Code „{'param': 'test'}' aus. Um die gewünschte Ausgabe zu erhalten, kann der **-Operator zum Entpacken des Wörterbuchs verwendet werden.

Überarbeiteter Code:

d = dict(param='test')

def f(param):
    print(param)

f(**d)

Jetzt gibt der Code „test“ aus ' wie beabsichtigt.

Szenario 2: Übergabe eines Wörterbuchs mit mehreren Schlüssel-Wert-Paaren

Ein ähnliches Problem tritt auf, wenn ein Wörterbuch mit mehreren Schlüssel-Wert-Paaren an a übergeben wird Funktion erwartet mehrere Parameter.

d = dict(p1=1, p2=2)

def f2(p1, p2):
    print(p1, p2)

f2(d)

Die erwartete Ausgabe ist „1 2“, aber stattdessen gibt der Code „{'p1': 1, 'p2': 2}' aus. Um dieses Problem zu beheben, wird der **-Operator erneut zum Entpacken des Wörterbuchs verwendet.

Überarbeiteter Code:

d = dict(p1=1, p2=2)

def f2(p1, p2):
    print(p1, p2)

f2(**d)

Nach diesen Änderungen wird der Code korrekt gedruckt: 1 2'.

Das obige ist der detaillierte Inhalt vonWie übergeben Sie Wörterbuchwerte als einzelne Parameter an eine Python-Funktion?. 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