python中的&&及||的实现示例

时间:2021-05-22

首先说明一下,在python中是没有&&及||这两个运算符的,取而代之的是英文and和or。其他运算符没有变动。

接着重点要说明的是python中的a.any(),我之所以会涉及到这个函数,是因为我在设计某个分段数值函数时由于不细心犯的错误引起的。a.any(),根据官方解释:

Test whether any elements of an array evaluate to True along an axis.

即针对的是一个list,判断list中的某个元素是否为真,此时只要有一个元素为真,list元素全部输出。下面一个例子更直观的做了解释:

#!/usr/bin/python#coding=utf8 importnumpy as np deff(data): forval indata: ifval <=0.6: r1=val*1 print"this is <= 0.6 numbers", r1 ifval > 4: r1=val*1 print"this is > 4 numbers ", r1 defmain(): data=np.arange(0.1,5.1,0.5) ifnp.any(data > 0.3)andnp.any(data <=1): r1=data *1 printr1 f(data) if__name__=='__main__': main()

对应的输出是:

[0.1 0.6 1.1 1.6 2.1 2.6 3.1 3.6 4.1 4.6]
thisis<=0.6 numbers 0.1
thisis<=0.6 numbers 0.6
thisis> 4numbers 4.1
thisis> 4numbers 4.6

在a.any()中,只要满足条件,整个list就是true的。而我在分段函数计算时,恰恰使用到了a.any()来判断list的范围,在后面的计算中,其实是整个list同时运算然后赋值了,也就将分段函数结果简化成了某一段的所有值。正确的计算分段函数有两中策略,要么像上面的函数f(),要么将list分段带入运算。

这个问题我纠结了一个晚上,最后才发现是a.any()的问题。最开始使用的时候,其真正的用法没有具体熟悉,同时我也该反省我自己,对python语言掌握的实在太菜了!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章