如
['[1,2,3]','[4,5,6]','[7,8,9]','[10,11,12]']
合并成一个大列表
[1,2,3,4,5,6,7,8,9,10,11,12]
假设列表的长度为20000,请问如何合并速度更加快
使用列表推导式
[x for j in res_str for x in eval(j)]
速度不是很快
除了生成器还有别的办法?
如
['[1,2,3]','[4,5,6]','[7,8,9]','[10,11,12]']
合并成一个大列表
[1,2,3,4,5,6,7,8,9,10,11,12]
假设列表的长度为20000,请问如何合并速度更加快
使用列表推导式
[x for j in res_str for x in eval(j)]
速度不是很快
除了生成器还有别的办法?
from itertools import chain
l = ['[1,2,3]','[4,5,6]','[7,8,9]','[10,11,12]']
res = chain(*map(eval, l))
4 回答4.4k 阅读✓ 已解决
1 回答3.1k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.4k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
如图所示,我们可以得出如下结论:
其实,这个 timeit 测试速度比较慢的原因,是我们生成 20000 个如题主所示的列表的时候,占用了过多的时间和内存。