Нечетное Python Поведение списка во время назначения - PullRequest
0 голосов
/ 14 января 2020

У меня инициализирован пустой список

lst = []

, и на более позднем этапе он может заполниться чем-то вроде

lst = [{'sender':'personA', 'receiver':'personB', 'amount':12}]

Затем мне нужна его копия с дополнительным значением Я добавил что-то вроде

new_lst = lst[:].append({'sender':'personA', 'receiver':'personB', 'amount':12})

, но обнаружил, что new_lst назначен None, и я не понимаю, почему. Python Должен ли я передать мне список, который действительно имеет атрибут добавления, и затем выполнить присвоение?

1 Ответ

1 голос
/ 14 января 2020

Это потому, что функция list.append() не возвращает значение, она просто изменяет список на месте, поэтому new_lst назначается на None.

Если вы хотите исправить это, пока еще используя функцию append(), вы можете просто добавить значение после того, как скопировали список.

new_lst = lst[:]
lst.append(blah)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...