Распаковка массива в отдельные переменные [Решение #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
Убедитесь, что имя переменной которую вы выбираете не используется для чего-то другого уже.
- Генераторы списков в Python
- Как подружить Slack и VK с помощью Python?
- Как распечатать документ в формате чека воспользовавшись Python и Parse?
- Делаем бекапы аудиозаписей плейлистов Вконтакте через Vk API и Python
- Как подружить Python с MySQL
- Запускаем простейший веб-сервер на Python и Flask
- Занесение данных в таблицу SQLite [Часть 2]