【发布时间】:2018-06-09 13:40:45
【问题描述】:
我想写以下内容:
result = []
for x in list(range(10)):
if x%2 != 0:
for a in [1,2]:
result.append(a*x)
else:
result.append(x)
带有列表理解。
到目前为止我得到的最好的是:
[[a*x for a in [1,2]] if x%2!=0 else x for x in list(range(10))]
但它会返回:
[0, [1, 2], 2, [3, 6], 4, [5, 10], 6, [7, 14], 8, [9, 18]]
我想要这个:
[0, 1, 2, 2, 3, 6, 4, 5, 10, 6, 7, 14, 8, 9, 18]
有什么想法吗?是否可以在一个语句中做到这一点而不创建两个列表并将它们放在一起?
如果我需要提供更多信息,请告诉我。
【问题讨论】:
标签: python python-2.7 for-loop list-comprehension