如何在Python中连接两个列表?
例:
listone = [1, 2, 3]
listtwo = [4, 5, 6]
Run Code Online (Sandbox Code Playgroud)
预期结果:
>>> joinedlist
[1, 2, 3, 4, 5, 6]
Run Code Online (Sandbox Code Playgroud) 像这样的代码经常发生:
l = []
while foo:
#baz
l.append(bar)
#qux
Run Code Online (Sandbox Code Playgroud)
如果您要将数千个元素追加到列表中,这非常慢,因为必须不断调整列表大小以适应新元素.
在Java中,您可以创建具有初始容量的ArrayList.如果您对列表的大小有所了解,那么效率会更高.
我知道像这样的代码通常可以重新考虑到列表理解中.但是,如果for/while循环非常复杂,那么这是不可行的.我们的Python程序员有没有相同的东西?
我正在寻找C++ vector :: reserve()的Python等价物.我不知道列表提前有多大,但我知道它会相当大,我希望避免尽可能多的限制,因为列表是在一个内部循环中增长的.
到目前为止,我提出的唯一解决方案与vector :: reserve()习惯用法相比非常麻烦.该解决方案是使用[无]*K预先创建列表,在单独的计数器中跟踪列表的大小,根据需要将项目附加或设置到列表中,然后在完全构造后复制列表的一部分.还有其他选择吗?