我有列表列表(特别是SQL查询结果的结果),我希望将其添加到另一个列表列表的末尾(来自先前查询/查询的结果)。我认为列表理解应该这样做
[results.append(result) for result in currentResults]
不会追加行,而是在每行应该添加None。但是,如果我使用if语句执行此操作
for result in currentResults:
results.append(result)
效果很好。
为什么这两个陈述没有做同样的事情,有没有办法用列表理解来做到这一点?
答案 0 :(得分:1)
.append()
的返回值为None
。返回值是您理解的内容。
如果for循环完美,那么你应该能够用
替换它results += list(currentResults)
或许,您可能更喜欢:
results.extend(currentResults)
答案 1 :(得分:1)
列表理解可以像:
results += [r for r in currentResults]