sum函数之Python和Numpy的应用

一. Python内置函数

1. sum函数的结构

sum(iterable [, start])

iterable - 可迭代对象,如:列表,元祖,集合
start - 指定相加的参数,不设置默认为0

计算原理:先求iterable - 可迭代对象内部元素之和(降维),再与start相加

注意:python中,相同数据类型才可以求和运算,否则报错

2. sum函数举例

列表求和1:

设置一个单层列表:

list1 = [1,2,3]

求和:

sum(list1)

结果:

6

先对list1内的元素求和,为6,由list型变成int型。再与默认的相同类型start=0相加,结果为6。

列表求和2:

设置一个嵌套列表:

list1 = [[1,2,3]]

求和:

sum(list1)

结果报错:

TypeError: unsupported operand type(s) for +: 'int' and 'list'

首先对list1内的元素求和,由于是双层列表,求和后,还有一层列表,和为[1,2,3],为list型;又因为start默认为0,为int类型,与前面的不同类型 - list类型相加而报错。

列表求和3:

列表降维:
设置一个嵌套列表:

list1 = [[1,2,3],[5,6]]

可更改start值类型为list,此时实现了一个功能 - 降维:

sum(list1, [])

结果:

[1,2,3,5,6]

首先内部元素求和:

[1,2,3] + [5,6] = [1,2,3,4,5,6]

与start相加:

[1,2,3,4,5,6] + [] = [1,2,3,4,5,6]

二. NumPy函数

1. sum函数的结构

np.sum(a, axis=None, dtype=None, out=None,keepdims=<No Value>,initial=<No Value>)

a - 序列
axis - 设置要操作的轴。可为负数,则从结尾开始
dtype - 设置类型
keepdims - 默认为False,求和降维;为True时,保持原维度

(简单的接受几个常用的参数,后期有需求再补充)

2. sum函数举例

设置一个shape=(1,2,3)的数组

n1 = np.array([[[1,2,3], [4,5,6]]])

n1:

array([[[1, 2, 3],
        [4, 5, 6]]])

求和1:

当axis=None时,即默认时,求所有元素之和

np.sum(n1)

结果:

1+2+3+4+5+6 = 21

求和2:

当axis=0时,求第0轴子层元素之和, 且降维:

np.sum(n1, axis=0)

结果, 三维变二维:

[[1,2,3],[4,5,6]]

求和3:

当axis=0时,求第1轴子元素之和,保持维度:

np.sum(n1, axis=1, keepdims=True)

结果,三维保持不变:

[[[1+4, 2+5, 3+6]]] = [[[5,7,9]]]

参考资料

如何用sum()函数给列表降维?

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值