您的位置:首頁技術文章
文章詳情頁

python - 求一個在def中可以實現調用本def滿足特定條件continue效果的方法(標題說不太清楚,請見題內描述)

瀏覽:146日期:2022-06-29 18:53:49

問題描述

def con(x): if x==3:continue #會報錯def con2(x): if x == 4:continue #會報錯for i in range(0,10): con(i) con2(i) print(i)

小弟的意思是,若滿足def內的條件,則外部調用的for循環做continue。例如,在例子中,i的值若為3或者4,則continue。因為for中調用的def方法會有很多個,而且實際場景要比例子復雜很多,所以感覺一個一個判斷返回值并不是很簡潔。想請問大家有沒有什么方法,實現小弟的這個述求,非常感謝大家~

問題解答

回答1:

可以通過拋個特定異常的方式來影響 for 循環:

class Abort(Exception): passdef con(x): if x==3:raise Abort()def con2(x): if x == 4:raise Abort()for i in range(0,10): try:con(i)con2(i) except Abort:continue print(i) 回答2:

continue必須搭配for一起使用,可以嘗試換一種實現思路如:

def con(x): return True if x == 3 else Falsedef con2(x): return True if x == 4 else Falsefor i in range(0,10): lst = [con(i),con2(i) ]if any(lst):continue print(i)

標簽: Python 編程
国产综合久久一区二区三区