python進行陣列合並的方法

測試生財發表於2020-12-14

python的陣列合並在演算法題中用到特別多,這裡簡單總結一下:

假設有a1和a2兩個陣列:

a1=[1,2,3]

a2=[4,5,6]

合併方式

1. 直接相加

#合併後賦值給新陣列a3
a3 = a1 + a2

2. extend

#呼叫此方法,a1會擴充套件成a1和a2的內容
a1.extend(a2) 

3. 列表表示式

#先生成新的二維陣列
a3 = [a1, a2]
#列表推導形成新的陣列
a4 = [ y for a in a3 for y in a ]

合併效能

下面分別測試下三種陣列合並方式的效能

import time

a1=range(100000000)

a2=range(100000000)

start=time.time()

new_a = a1 + a2

end=time.time()

cost = end - start

print cost
 

a1=range(100000000)

a2=range(100000000)

start=time.time()

a1.extend(a2)

new_a = a1

end=time.time()

cost = end - start

print cost

 

a1=range(100000000)

a2=range(100000000)

a3=[a1,a2]

start=time.time()

new_a = [ y for a in a3 for y in a ]

end=time.time()

cost = end - start

print cost

分別輸出:

17.2916171551

20.8185400963

55.1758739948

可以看出:在資料量大的時候,第一種方式的效能要高出很多

博主:測試生財

座右銘:專注測試與自動化,致力提高研發效能;通過測試精進完成原始積累,通過讀書理財奔向財務自由。

csdn:https://blog.csdn.net/ccgshigao

部落格園:https://www.cnblogs.com/qa-freeroad/

51cto:https://blog.51cto.com/14900374

相關文章