Python: Kann eine Funktion ein Array und eine Variable zurückgeben?

8

Gibt es eine einfache Möglichkeit, um eine Funktion zu erhalten, die ein np.array und eine Variable zurückgibt?

zB:

%Vor%

, damit die in der Funktion berechneten Werte später im Code verwendet werden können? Das obige ignoriert die in der Funktion berechneten Werte.

Ich habe versucht, ein Tupel zurückzugeben {my_array, my_variable}, aber ich habe die Nachricht vom nicht hashbaren Typ für np.array

erhalten

DN

    
dcnicholls 22.10.2013, 01:22
quelle

3 Antworten

5

Es ignoriert die zurückgegebenen Werte nicht und weist sie nicht Variablen zu.

%Vor%     
Andy 22.10.2013, 01:26
quelle
12

Ihre Funktion ist korrekt. Wenn Sie return my_array,my_variable schreiben, gibt Ihre Funktion tatsächlich ein Tupel (my_array, my_variable) zurück.

Sie können den Rückgabewert von my_function() zuerst einer Variablen zuweisen, die dieses Tupel beschreiben würde:

%Vor%

Als nächstes, da Sie wissen, wie viele Elemente im Tupel vor der Zeit sind, können Sie entpacke das Tupel in zwei verschiedene Werte:

%Vor%

Oder Sie können es in einer Zeile tun:

%Vor%

Weitere Hinweise zum Zurückgeben von Tupeln und zum Entpacken von Tupeln:

Ich behalte manchmal die zwei Schritte getrennt, wenn meine Funktion None in einem nicht-außergewöhnlichen Fehler oder leeren Fall zurückgeben kann:

%Vor%

Anstatt zu entpacken, können Sie alternativ mit dem Index auf die angegebenen Elemente aus dem Tupel zugreifen:

%Vor%

Wenn Sie aus irgendeinem Grund ein Tupel mit 1 Element haben:

%Vor%

Sie können es mit der gleichen (etwas peinlichen) Einkommasyntax entpacken:

%Vor%     
Jonathon Reinhart 22.10.2013 01:27
quelle
1

einfache Antwort

%Vor%     
Curry 22.10.2013 01:24
quelle

Tags und Links