#python
#python
Вопрос:
У меня есть список списков (в частности, результаты результатов запроса SQL), которые я хочу добавить в конец другого списка списков (результаты предыдущего запроса / запросов). Понимание списка, которое, я думаю, должно сделать это
[results.append(result) for result in currentResults]
не добавляет строки, а вместо этого добавляет None там, где должна быть каждая строка. Однако, если я сделаю это с помощью оператора if
for result in currentResults:
results.append(result)
это работает отлично.
Почему эти два оператора не выполняют одно и то же, и есть ли способ сделать это с пониманием списка?
Ответ №1:
Возвращаемое значение .append()
равно None
. Это возвращаемое значение — это то, что входит в ваше понимание.
Если цикл for работает идеально, вы сможете просто заменить его на
results = list(currentResults)
Или, возможно, вы могли бы предпочесть:
results.extend(currentResults)
Комментарии:
1. Спасибо. Делает именно то, что я хочу.
2. Нет проблем. Для меня было честью помогать Брюсу Уэю .. ошибка… Я имею в виду Бэтмена. Черт, извините.
Ответ №2:
Понимание списка будет работать как:
results = [r for r in currentResults]