Почему следующий код сделать равным «None»:Странная вещь происходит с Append
a = [1]
a = a.append(0) if len(a) == 1 else a
Это происходит как в Python 2 и 3.
Почему следующий код сделать равным «None»:Странная вещь происходит с Append
a = [1]
a = a.append(0) if len(a) == 1 else a
Это происходит как в Python 2 и 3.
append()
не возвращает значение. Просто сделайте это:
a = [1]
if len(a) == 1:
a.append(0)
Просто так получилось, что list.append
не возвращает список. Он мутирует его и ничего не возвращает (None
).
В вашем случае a = a +[0] if len(a) == 1 else a
будет работать. Но следующее проще: if len(a) == 1: a.append(0)
.
'append' изменяет' a' на место и возвращает 'None'. – Akavall