Добавить список списков в список списков с пониманием списка

#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]