Эквивалент PHP list() в Python

Есть ли какой-либо эквивалент функции PHP list() в python? Например:

PHP:

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

Ответ 1

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

Или прямой перевод вашего дела:

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

Python реализует эту функциональность, вызывая метод __iter__ в правильном выражении и присваивая каждому элементу переменные слева. Это позволяет определить, как настраиваемый объект должен быть распакован в назначение переменной переменной:

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