python 列表串联效率

标签 python list

连接两个列表 list_alist_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。横轴是列表中的项目数。

Asymptotic behaviour of the possibilities

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/

相关文章:

python - IPython自动开启matplotlib交互模式

python - 在 python 中用 re.sub 替换特定的命名组

python - Keras:ValueError:检查目标时出错:期望dense_2具有形状(10,)但得到形状为(1,)的数组

python - 如何用列表中的最小索引替换特定整数

python - 如何一次循环两个列表列表并将一个列表中的值替换为另一个列表中的值?

Android 数组列表如何使用

python - 如何隐藏从 Python 调度的 COM 对象

python - Pandas 有条件地替换或更新整行

c - 为什么我的结构变量不包含这个成员?

python - 如何从 python 中的列表列表创建字典列表?