我可以用一个循环来做,但是除了这样做还有什么更cool的用一行来做的方法?我用来做,但是我得到了个错误.
代码:
[item for sublist in l for item in sublist]
到目前为止来看是最快的方法.
可以用模块验证一下:
当有L个子串的时候用+
(即)的时间复杂度是O(L2)
—每次迭代的时候作为中间结果的列表的长度就会越来越长,而且前一个中间结果的所有项都会再拷贝一遍给下一个中间结果.所以当你的列表l含有L个字串:l列表的第一项需要拷贝L-1次,而第二项要拷贝L-2次,以此类推;所以总数为2)/2
.
列表推导式(list comprehension)只是生成一个列表,每次运行只拷贝一次(从开始的地方拷贝到最终结果).