基于这个问题
python flatten an array of array
我想要一个比双循环解决方案更快的方法。所以我写了一个基于functools的函数,但是它看起来慢得多。
orders2.shape
(9966, 1)
import time
t0 = time.time()
[x for i in orders2.values.tolist() for x in i[0].tolist()]
t1 = time.time()
t1-t0
0.009984493255615234
import time
t0 = time.time()
functools.reduce(lambda a,b: a+b[0].tolist() , orders2.values.tolist(), [])
t1 = time.time()
t1-t0
1.4101920127868652
我的问题是1。怎么会这样?2.在使用大数据时,functools算法会比双循环算法快吗?3.还有比双循环更快的算法吗?