Как распаковать список в Python

В этом руководстве вы узнаете, как распаковать список в Python, чтобы сделать ваш код более кратким.

Знакомство с распаковкой списка

В следующем примере определяется список строк:

colors = ['red', 'blue', 'green']

Чтобы присвоить первый, второй и третий элементы списка переменным, вы можете присвоить  отдельные элементы переменным следующим образом:

red = colors[0]
blue = colors[1]
green = colors[2]

Однако Python предоставляет лучший способ сделать это. Это называется распаковкой последовательности.

По сути, вы можете присвоить элементы списка(а также кортежа) нескольким переменным. Например:

red, blue, green = colors

Этот оператор присваивает первый, второй и третий элементы списка цветов красным, синим и зеленым переменным.

В этом примере количество переменных слева такое же, как количество элементов в списке справа.

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

colors = ['red', 'blue', 'green']
red, blue = colors

Ошибка:

ValueError: too many values to unpack(expected 2)

В этом случае Python не смог распаковать три элемента в две переменные.

Unpacking и packing

Если вы хотите распаковать первые несколько элементов списка и не беспокоитесь о других элементах, вы можете:

  • Сначала распаковать нужные элементы в переменные.
  • Затем упаковать оставшиеся элементы в новый список и присвоить его другой переменной.

Поставив звездочку(*) перед именем переменной, вы упакуете оставшиеся элементы в список и присвоите их переменной. Например:

colors = ['red', 'blue', 'green']
red, blue, *other = colors

print(red)
print(blue)
print(other)

Выход:

red
blue
['green']

В этом примере первый и второй элементы списка цветов присваиваются красным и зеленым переменным. И последний элемент списка присваивается другой переменной.

Вот еще один пример:

colors = ['cyan', 'magenta', 'yellow', 'black']
cyan, magenta, *other = colors

print(cyan)
print(magenta)
print(other)

Выход:

cyan
magenta
['yellow', 'black']

В этом примере первый и второй элементы присваиваются переменным. Два последних элемента упаковываются в новый список, и новый список присваивается другой переменной.

Похожие посты
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *