Найти тему
Машинное обучение

Использование распаковки для исключения лишних элементов

Допустим, вам необходимо распаковать N элементов из итерируемого объекта (список, кортеж), исключив при этом лишние элементы. Выражение со звёздочкой поможет это сделать.

Первая функция в примере исключит первые 2 элемента, а остальные вернет в качестве результата:

>>>record = ('kiriharu', 'me@kiriha.ru', '8-800-555-35-35', '1337-1337')

>>>get_phones(record)

['8-800-555-35-35', '1337-1337']

Второй пример показывает, что распаковку можно использовать даже в середине присваивания. Функция отбросит первый и последний элемент в списке, а остальное запишет в grades:

>>>grades = ('kiriharu', 1, 1, 1, 1, 'A')

>>>get_grades(grades)

[1, 1, 1, 1]

Выражение со звездочкой можно использовать как угодно - можно наоборот отбросить всё то, что попадает в него, а остальное вернуть. Попробуйте сами написать такую функцию :)

Код на GitHub

Python RU