python中的&&及||的實現(xiàn)示例
首先說明一下,在python中是沒有&&及||這兩個運算符的,取而代之的是英文and和or。其他運算符沒有變動。
接著重點要說明的是python中的a.any(),我之所以會涉及到這個函數(shù),是因為我在設(shè)計某個分段數(shù)值函數(shù)時由于不細(xì)心犯的錯誤引起的。a.any(),根據(jù)官方解釋:
Test whether any elements of an array evaluate to True along an axis.
即針對的是一個list,判斷l(xiāng)ist中的某個元素是否為真,此時只要有一個元素為真,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()
對應(yīng)的輸出是:
[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的。而我在分段函數(shù)計算時,恰恰使用到了a.any()來判斷l(xiāng)ist的范圍,在后面的計算中,其實是整個list同時運算然后賦值了,也就將分段函數(shù)結(jié)果簡化成了某一段的所有值。正確的計算分段函數(shù)有兩中策略,要么像上面的函數(shù)f(),要么將list分段帶入運算。
這個問題我糾結(jié)了一個晚上,最后才發(fā)現(xiàn)是a.any()的問題。最開始使用的時候,其真正的用法沒有具體熟悉,同時我也該反省我自己,對python語言掌握的實在太菜了!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Python的基礎(chǔ)語法和輸入輸出函數(shù)你都了解嗎
這篇文章主要為大家詳細(xì)介紹了Python的基礎(chǔ)語法和輸入輸出函數(shù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2022-02-02Python中使用MELIAE分析程序內(nèi)存占用實例
這篇文章主要介紹了Python中使用MELIAE分析程序內(nèi)存占用實例,本文直接給出使用代碼示例,需要的朋友可以參考下2015-02-02python實現(xiàn)生命游戲的示例代碼(Game of Life)
這篇文章主要介紹了python實現(xiàn)生命游戲的示例代碼(Game of Life),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01Tensorflow矩陣運算實例(矩陣相乘,點乘,行/列累加)
今天小編就為大家分享一篇Tensorflow矩陣運算實例(矩陣相乘,點乘,行/列累加),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02