我有一个数组a。我想创建双倍大小的新数组,其中项目为 x*2 和 x*3。
例如:a = [1,10,100] 结果必须是 b = [2,3,20,30,200,300]
我知道这种(丑陋且非常缓慢)的方式:b = sum([[x*2,x*3] for x in a], [])
还有其他方式(真的我想要最短的方式:)?
请您参考如下方法:
这可以使用带有嵌套循环的列表理解来完成
In [4]: [y for x in a for y in (x * 2, x * 3)]
Out[4]: [2, 3, 20, 30, 200, 300]
似乎优于所有答案,但在 a 较大时输给了 numpy 解决方案。
