python的数组合并在算法题中用到特别多,这里简单总结一下:
假设有a1和a2两个数组:
a1=[1,2,3]
a2=[4,5,6]
- 1
- 2
- 3
合并方式
1.直接相加
#合并后赋值给新数组a3
a3 = a1 + a2
- 1
- 2
2.extend
#调用此方法,a1会扩展成a1和a2的内容
a1.extend(a2)
- 1
- 2
3.列表表达式
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:725638078
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
#先生成新的二维数组
a3 = [a1, a2]
#列表推导形成新的数组
a4 = [ y for a in a3 for y in a ]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
合并性能
下面分别测试下三种数组合并方式的性能
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
分别输出:
17.2916171551
20.8185400963
55.1758739948
- 1
- 2
- 3
- 4
- 5
可以看出:在数据量大的时候,第一种方式的性能要高出很多。
结尾给大家推荐一个非常好的学习教程,希望对你学习Python有帮助!
Python基础入门教程推荐:更多Python视频教程-关注B站:Python学习者
https://www.bilibili.com/video/BV1LL4y1h7ny?share_source=copy_web
Python爬虫案例教程推荐:更多Python视频教程-关注B站:Python学习者
https://www.bilibili.com/video/BV1QZ4y1N7YA?share_source=copy_web