参考链接: Python sum()
时间有点赶注释就写在代码里面了 ,本次包含了 python 元组,列表,字典 以及numpy的ndarray 数组的求和
直接看代码吧
#encoding:utf-8
import numpy as np
import operator
#字典形式的计算值总和
dict = {"a":12,"b":22,"v":34}
print(sum(dict.values()))
#元组,列表形式计算值总和
listA = [i for i in range(1,11)]
print(listA)
print(sum(listA))
tupleA =tuple(listA)
print(tupleA)
print(sum(tupleA))
'''
#ndarray 计算值的总和呢?ndarray是多维的,计算哪一维度的总和可以用numpy库中对象ndarray.sum(axis = nd),
# nd表示维度0,1,2...
#0表示按照一个1维计算所有值的总和,得到的值就是 同一列的和 的一维矩阵,,
#1则表示按照2维计算总和,得到的 每一行的 总和
'''
ndarrayA = np.array(listA)
ndarrayA = np.tile(ndarrayA,(2,2))#用tile方法铺成2*2的listA的矩阵
print("ndarrayA = n",ndarrayA)
print("sum(ndarrayA) = n",sum(ndarrayA))
print("ndarrayA.sum(axis=0) = n",ndarrayA.sum(axis=0))
print("ndarrayA.sum(axis=1) = n",ndarrayA.sum(axis=1))
#那么np.sum计算二维的时候计算的结果是[m,n],m,n是什么意思?,只需要在tile中的矩阵更改一下不一致的行和列即可验证
#更改为3*2
ndarrayA = np.array(listA)
ndarrayA = np.tile(ndarrayA,(2,3))#用tile方法铺成2*2的listA的矩阵
print("ndarrayA = n",ndarrayA)
print("sum(ndarrayA) = n",sum(ndarrayA))
print("ndarrayA.sum(axis=0) = n",ndarrayA.sum(axis=0))
print("ndarrayA.sum(axis=1) = n",ndarrayA.sum(axis=1))
#由结构可见是一个2的大小,说明sum计算的是每一行的总和