【发布时间】:2011-08-22 06:33:27
【问题描述】:
我没有使用 Python 的经验,我经常编写(简化的)如下代码:
accumulationList = []
for x in originalList:
y = doSomething(x)
accumulationList.append(y)
return accumulationList
然后在我的测试通过后,我重构为
return [doSomething(x) for x in originalList]
但假设结果有点不同,我的循环看起来像这样:
accumulationList = []
for x in originalList:
y = doSomething(x)
accumulationList.extend(y)
return accumulationList
doSomething 列表返回一个列表。完成此任务的最 Pythonic 方式是什么?显然,前面的列表推导会给出一个列表列表。
【问题讨论】:
-
@chris_rands -- 在提出问题 7.5 年后将问题标记为骗子似乎有点奇怪 -- 它并没有起到将 OP 引导到副本的目的,并且问题不够相似,合并是一种选择。 /耸肩
标签: python list for-loop nested list-comprehension