[英]Execution for-loop in Python
def search_for_element(L, char):
for i in L:
if i == char:
return True
else:
return False
當我運行該函數時,它只在屏幕上輸出一個語句。 那么為什么for循環只執行一次呢?
return
終止函數,將return False
移到循環之后:
def search_for_element(L, char):
for i in L:
if i == char:
return True
return False
或者干脆:
def search_for_element(L, char):
return char in L
盡管請注意后者並不完全等效,因為它也測試身份(不僅僅是相等性)。 這只會在相當不尋常的情況下很重要,例如numpy.NAN == numpy.NAN
是False
但numpy.NAN in [numpy.NAN]
是True
。
所以單線替代方案是:
def search_for_element(L, char):
return any(char == i for i in L)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.