zoukankan      html  css  js  c++  java
  • python中的&&及||

    首先说明一下,在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
     
    def main():
        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语言掌握的实在太菜了!

  • 相关阅读:
    微信小程序开发工具 POST net::ERR_PROXY_CONNECTION_FAILED 代理问题
    微信小程序 带参调用后台接口 循环渲染页面 wx.request wx:for
    三下乡感悟心得体会
    Mysql通过Adjacency List(邻接表)存储树形结构
    java的List中使用filter过滤出符合特定条件的元素List
    mybatis报表,动态列与查询参数+行列转换
    mysql行转列转换
    spring配置jackson不返回null值
    mybatis动态列名
    查出最新记录
  • 原文地址:https://www.cnblogs.com/sthu/p/10365173.html
Copyright © 2011-2022 走看看