2016-08-06 15 views
2

Ich habe die folgende Zeile (Anmerkung: die Konvertierungsfunktion ein Array zurückgibt):zuweisen Variablen auf ein Array

question, answer = convert(snippet, phrase) 

Hat zuweisen dies die ersten beiden Werte im Array question und answer Variablen jeweils?

+2

Was haben Sie versucht, die Lösung selbst zu finden? – technico

Antwort

0

Wenn die Funktion eine Liste von mindestens zwei Werte zurückgibt, können Sie tun:

question, answer = convert(snippet, phrase)[:2] 
#or 
question, answer, *_ = convert(snippet, phrase) 

Zum Beispiel:

# valid multiple assignment/unpacking 
x,y = 1, 2 
x,y = [1,2,3][:2] 
x,y, *z = [1, 2, 3, 4] # * -> put the rest as the list to z 
x, y, *_z = [1, 2, 3, 4] # similar as above but, uses a 'throwaway' variable _ 

#invalid 
x, y = 1, 2, 3 #ValueError: too many values to unpack (expected 2) 
0

als unpacking in Python Dies bezeichnet.

a, b, c = 1, 2, 3 
# a -> 1 
# b -> 2 
# c -> 3 
Verwandte Themen