Быстрый в изучении - мощный в программировании
>> Telegram ЧАТ для Python Программистов

Свободное общение и помощь советом и решением проблем с кодом! Заходите в наш TELEGRAM ЧАТ!

>> Python Форум Помощи!

Мы создали форум где отвечаем на все вопросы связанные с языком программирования Python. Ждем вас там!

>> Python Канал в Telegram

Обучающие статьи, видео и новости из мира Python. Подпишитесь на наш TELEGRAM КАНАЛ!

Распаковка массива в отдельные переменные [Решение #1.1]

Распаковка массива в отдельные переменные

Проблема: У вас есть N-ое кол-во элементов кортежа или последовательность, и вы хотите их распаковать в N-ое кол-во уникальных переменных.

Решение: Любая последовательность (или итерацию) могут быть распакованы в переменных, используя операцию назначения "=". Единственное требование состоит в том, что число переменных и элементов структуры должны соответствовать последовательности.

Открываем Python Shell

Например:

>>> m = (7, 15)
>>> a, b = m
>>> print a
7
>>> print b
15
>>> print a + b
22

Теперь более сложный вариант

>>> baza = ['PYTHON', 22, 1.99, (2015, 03, 04)]
>>> name, km, price, today = baza
>>> print name
PYTHON
>>> print km
22
>>> print price
1.99
>>> print today
(2015, 3, 4)
>>> (god, mes, deni) = today
>>> print god
2015
>>> print mes
3
>>> print deni
4

Если есть несоответствие в количестве элементов, вы получите сообщение об ошибке. Например:

>>> T = (1, 2)
>>> x, y, z = T
Traceback (most recent call last):
  File "pyshell#17", line 1, in 
    x, y, z = T
ValueError: need more than 2 values to unpack

Распаковка строки на переменные

Распаковка на самом деле работает с любым объектом а не только кортежи или списки. Это включает в себя строки, файлы, итераторы и генераторы.

Например:

>>> name = "Google"
>>> q,w,e,r,t,y = name
>>> print q
G
>>> print e
o
>>> print y
e

Игнорирование значений при распаковке

При распаковке, вы можете игнорировать определенные значения. Python не имеет специальный синтаксис для этого, но вы можете просто выбрать одноразовые имя переменной для него. Например:

>>> data = [100, 200, 300, 400]
>>> first, _, _, last = data
>>> print first
100
>>> print last
400

Убедитесь, что имя переменной которую вы выбираете не используется для чего-то другого уже.