python進行數組合並的方法


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

可以看出:在數據量大的時候,第一種方式的性能要高出很多。

博主:測試生財(一個不為996而996的測開碼農)

座右銘:專注測試開發與自動化運維,努力讀書思考寫作,為內卷的人生奠定財務自由。

內容范疇:技術提升,職場雜談,事業發展,閱讀寫作,投資理財,健康人生。

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

博客園:https://www.cnblogs.com/qa-freeroad/

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

微信公眾號:測試生財(定期分享獨家內容和資源)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM