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 ])
下面分别测试下三种数组合并方式的性能
分别输出:
17.2916171551
20.8185400963
55.1758739948
可以看出:在数据量大的时候,第一种方式的性能要高出很多。
这个如果用numpy我不怎么熟,我觉得用pandas是常态- -,代码如下:
import pandas as pd
a = [[1,2,3,4],[1,2,3,4],[1,2,3,4],[1,2,3,4],[1,2,3,4]]
b=pd.DataFrame(a)
print(list(b.sum()))
import numpy
a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
a_array = numpy.array(a)
b_array = numpy.array(b)
c_array = a_array + b_array
d_array = a_array - b_array
print c_array
print d_array
扩展资料:
算术运算结果的数字类型与运算数的类型有关。进行除法(/)运算时,不管商为整数还是浮点数,运算结果始终为浮点数。要得到整型的商,需要用双斜杠(//)做整除,且除数必须是整型的。对于其他的运算,只要任一运算数为浮点数,运算结果就是浮点数。Python算术运算的基础使用方法如下所示。
num_int = 4
num_float = 4.0
print('整数与浮点数的和为:', num_int + num_float)
#Out[1]: 整数与浮点数的和为:8.0
print('整数与浮点数的差为:', num_int - num_float)
#Out[2]: 整数与浮点数的差为: 0.0
print('整数与浮点数的积为:', num_int * num_float)
#Out[3]: 整数与浮点数的积为:16.0
print('浮点数与整数的商为:', num_float / num_int)
#Out[4]: 浮点数与整数的商为:1.0
print('浮点数对整数取模结果为:', num_float % num_int)
#Out[5]: 浮点数对整数取模结果为: 0.0
print('浮点数的整数次幂为:', num_float ** num_int)
#Out[6]: 浮点数的整数次幂为:256.0