【发布时间】:2013-06-07 07:49:59
【问题描述】:
给定,
list_1 = [1,2,3,4]
list_2 = [5,6,7,8]
在python中实现以下最快的方法是什么?
list = [1,2,3,4,5,6,7,8]
请注意,在 python 中可以有多种方法来合并两个列表。
我正在寻找最省时的方法。
我尝试了以下,这是我的理解。
代码
import time
c = list(range(1,10000000))
c_n = list(range(10000000, 20000000))
start = time.time()
c = c+c_n
print len(c)
print time.time() - start
c = list(range(1,10000000))
start = time.time()
for i in c_n:
c.append(i)
print len(c)
print time.time() - start
c = list(range(1,10000000))
start = time.time()
c.extend(c_n)
print len(c)
print time.time() - start
输出
19999999
0.125061035156
19999999
1.02858018875
19999999
0.03928399086
所以,如果有人不想在问题中重复使用 list_1/list_2,那么 extend 就是要走的路。另一方面,"+" 是最快的方式。
不过我不确定其他选项。
【问题讨论】:
-
您并没有真正在此处合并,而是在连接...这真的是您想要的吗?
list1 = [1,2,3,5]; list2 = [4,5,6,7]应该得到什么? -
没有比
list_1 + list_2更快的速度了 -
extend 是合并列表最快的方法。
标签: python performance list merge