В Python оператор присваивания может распаковать список или кортеж в переменные, например:
l = (1, 2)
a, b = l # Here goes auto unpack
Но мне нужно указать точно такое же количество имен слева, как и количество элементов в списке справа. Но иногда я не знаю размер списка справа, например, если я использую split(). Пример:
a, b = "length=25".split("=") # This will result in a="length" and b=25
Но следующий код приведет к ошибке:
a, b = "DEFAULT_LENGTH".split("=") # Error, list has only one item
Можно ли как-то распаковать список в приведенном выше примере, чтобы получить a = "DEFAULT_LENGTH", а b равно "None" или не установлен? Простой способ выглядит долго:
a = b = None
if "=" in string :
a, b = string.split("=")
else :
a = string