2012-03-07 18 views
11

Esiste qualche equivalente alla funzione list() di PHP in python? Per esempio:Elenco PHP() equivalente in Python

PHP:

list($first, $second, $third) = $myIndexArray; 
echo "First: $first, Second: $second"; 

risposta

24
>>> a, b, c = [1, 2, 3] 
>>> print a, b, c 
1 2 3 

O una traduzione diretta del vostro caso:

>>> myIndexArray = [1, 2, 3] 
>>> first, second, third = myIndexArray 
>>> print "First: %d, Second: %d" % (first, second) 
First: 1, Second: 2 

Python implementa questa funzionalità chiamando il metodo __iter__ sulla destra espressione e assegnazione di ogni elemento alle variabili sul lato sinistro. Questo ti consente di definire il modo in cui un oggetto personalizzato deve essere decompresso in un'assegnazione multi-variabile:

>>> class MyClass(object): 
... def __iter__(self): 
...  return iter([1, 2, 3]) 
... 
>>> a, b, c = MyClass() 
>>> print a, b, c 
1 2 3 
+0

Dolce. Sono molte più informazioni di quelle di cui avevo bisogno, ed è fantastico! – Drew