连接两个列表 list_a
和 list_b
的最有效方法是什么:
list_b
项必须放在list_a
项之前- 结果必须放在
list_a
我想到了 4 种可能性:
# 1
list_a = list_b + list_a
# 2
for item in list_b:
list_a.insert(0, item)
# 3
for item in self.list_a:
list_b.append(item)
list_a = list_b
# 4
list_a[0:0] = list_b
谢谢!
最佳答案
这是 answer of BigYellowCactus 中如何使用计时的图表随着列表长度的增加而发展。垂直轴是初始化两个列表并将一个列表插入另一个列表所需的时间,单位为 usec。横轴是列表中的项目数。
t1:
list_a = list_b + list_a
t2:
for item in list_b:
list_a.insert(0, item)
t3:
for item in list_a:
list_b.append(item)
list_a = list_b
t4:
list_a[0:0] = list_b
关于python 列表串联效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12088089/