У нас есть список, кортеж, что угодно, и нам нужно достать оттуда элементы:
person = (
'Eveline',
(1990, 12, 31),
'Moscow',
'+79271111111',
'+79272222222'
)
# Вместо того, чтобы обращаться по индексу:
name, birth_date, city, phone1, phone2 = person[0], person[1], person[2], person[3], person[4]
# можем сразу распаковать вот так:
name, birth_date, city, phone1, phone2 = person
Тогда в name пойдет имя, в birth_date - дата рождения и т.д.
Самое главное - количество переменных слева и элементов в объекте справа должно совпадать.
💫Хотелки
# Хочу скипнуть некоторые поля:
name, _, city, phone1, _ = person
# Хочу сложить телефоны в список:
name, birth_date, city, *phone_list = person
# список может идти в начале и середине тоже
# Хочу взять имя и phone2:
name, *_, phone2 = person
# Хочу взять только имя:
name, *_ = person
# Хочу взять только phone2:
*_, phone2 = person
# Хочу взять имя и год рождения:
name, (year, *_), *_ = person
#python_tips