python中的及||
生活随笔
收集整理的這篇文章主要介紹了
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元素全部輸出。下面一個例子更直觀的做了解釋:
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:778463939 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! '''importnumpy as npdeff(data):forval indata:ifval <=0.6:r1=val*1print"this is <= 0.6 numbers", r1ifval > 4:r1=val*1print"this is > 4 numbers ", r1def main():data=np.arange(0.1,5.1,0.5)ifnp.any(data > 0.3)andnp.any(data <=1):r1=data *1printr1f(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爬虫 教程: re正则表达式
- 下一篇: 如何快速简单粗暴地理解Python中的i