python数组元素复制_python的numpy数组 的复制问题?

还是一句一句来分析吧

第一句

vector = numpy.array([5, 10, 15, 20])

用numpy生成一个array对象 : vector

然后第二句

equal_to_ten_or_five = (vector == 10) | (vector == 5)

这里有个或操作

首先 vector==10 这个其实是把vector里面的所有对象与10对比,相同为True,不同为False

所以结果是(式子A):

array([False, True, False, False], dtype=bool)

然后vector==5,同理(式子B)

array([ True, False, False, False], dtype=bool)

然后最后一个或操作,也就是式子A|式子B,或操作的原则,只要有一个True,那就是True,只有两个都是False才是False,按照array的顺序一个个比较

例如式子A的第一个是False,式子B的第一个是True,那么结果就是True,也就是说

equal_to_ten_or_five这个结果的第一个元素是True,同理求出其它三个

那么equal_to_ten_or_five就是

array([ True, True, False, False], dtype=bool)

然后

vector[equal_to_ten_or_five] = 50

这句是指 把vector中为True的位置设置成50

所以结果是 50,50,15,20

事实上你还可以这么玩

vector[numpy.array([0,0,0,1])]=10086

你猜等于多少

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值