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

yipeiwu_com7年前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
 
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语言掌握的实在太菜了!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

对python中执行DOS命令的3种方法总结

1. 使用os.system("cmd") 特点是执行的时候程序会打出cmd在Linux上执行的信息。 import os os.system("ls") 2. 使用Popen...

windows环境中利用celery实现简单任务队列过程解析

windows环境中利用celery实现简单任务队列过程解析

这篇文章主要介绍了windows环境中利用celery实现简单任务队列过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一、背景...

Python字典实现简单的三级菜单(实例讲解)

如下所示: data = { "北京":{ "昌平":{"沙河":["oldboy","test"],"天通苑":["链接地产","我爱我家"]}, "朝阳":{"望京":...

Python3.X 线程中信号量的使用方法示例

Python3.X 线程中信号量的使用方法示例

前言 最近在学习python,发现了解线程信号量的基础知识,对深入理解python的线程会大有帮助。所以本文将给大家介绍Python3.X线程中信号量的使用方法,下面话不多说,来一起看看...

Python中定时任务框架APScheduler的快速入门指南

前言 大家应该都知道在编程语言中,定时任务是常用的一种调度形式,在Python中也涌现了非常多的调度模块,本文将简要介绍APScheduler的基本使用方法。 一、APScheduler...