• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Iterable unpacking in Python variable assignment

Lomanu4 Оффлайн

Lomanu4

Команда форума
Администратор
Регистрация
1 Мар 2015
Сообщения
1,481
Баллы
155

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

☕

*Memos:


You can unpack the iterable which has zero or more values to one or more variables as shown below:

*Memos:

  • A set of the one or more variables with one or more commas(,) in a variable assignment is an iterable unpacking so v1 = and v1, = are different.
  • The number of variables must match the number of values unless a *variable is used.
  • The one or more values with one or more commas(,) are a tuple.

v1, v2, v3 = [0, 1, 2]
v1, v2, v3 = 0, 1, 2 # Tuple
v1, v2, v3 = (0, 1, 2)
# No error

v1, v2, v3 = [0, 1]
# ValueError: not enough values to unpack (expected 3, got 2)

v1, v2, v3 = [0, 1, 2, 3]
# ValueError: too many values to unpack (expected 3)

v1 = [0, 1, 2]
# No error

v1, = [0, 1, 2]
# ValueError: too many values to unpack (expected 1)

*Again, a set of the one or more variables with one or more commas(,) in a variable assignment is an iterable unpacking.


v1, = [5]
v1, = 5, # Tuple
v1, = (5,)

v1, = 5
# TypeError: cannot unpack non-iterable int object

v1, = [5, 10]
# ValueError: too many values to unpack (expected 1)

v1, = []
# ValueError: not enough values to unpack (expected 1, got 0)

, = []
# SyntaxError: invalid syntax

_, = []
# ValueError: not enough values to unpack (expected 1, got 0)

v1, v2, v3 = [0, 1, 2]
v1, v2, v3 = 0, 1, 2 # Tuple
v1, v2, v3 = (0, 1, 2)
v1, v2, v3 = range(3)

print(v1, v2, v3) # 0 1 2

v1 = [0, 1, 2]

print(v1) # [0, 1, 2]

v1, = [5]
v1, = 5, # Tuple
v1, = (5,)
v1, = range(5, 6)

print(v1) 5

*By default, only keys are assigned to variables from a dictrionary same as using

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

.


v1, v2, v3 = {"name":"John", "age":36, "gender":"Male"}
v1, v2, v3 = {"name":"John", "age":36, "gender":"Male"}.keys()

print(v1, v2, v3) # name age gender

*

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

can get only the values from a dictionary.


v1, v2, v3 = {"name":"John", "age":36, "gender":"Male"}.values()

print(v1, v2, v3) # John 36 Male

*

Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

can get both the keys and values from a dictionary.


v1, v2, v3 = {"name":"John", "age":36, "gender":"Male"}.items()

print(v1, v2, v3)
# ('name', 'John') ('age', 36) ('gender', 'Male')

print(v1[0], v1[1], v2[0], v2[1], v3[0], v3[1])
# name John age 36 gender Male

v1, v2, v3, v4, v5 = "Hello"

print(v1, v2, v3, v4, v5) # H e l l o


Пожалуйста Авторизируйтесь или Зарегистрируйтесь для просмотра скрытого текста.

 
Вверх Снизу