python如何让else之后返回if,python for in if else
Else块可以与循环语句一起使用。如果循环流没有被break之类的语句干扰,则进入else块。我在下面提供了一个简单的主取景器。forninrange (2,10):
forxinrange(2,n):
如果n % x==0:
打印n,等于,x, * ,n/x
布莱克
否则:
# loopfellphroughwithoutfindingfactor
是一个质数
^{pr2}$
注意:for/else语句结合对列表的理解可以达到预期的目的。
理解这个简单的列表:# ForGeneratingalistofOddnumbers从1到10
[如果n % 2==1,则为nforninrange (1,10)]
# generatorversionpreventingeevaluationofthewholelistatonce .
(nforninrange (1,10 ) if n % 2==1)).
这样,通过使用列表理解方法来生成可迭代容器,然后通过使用for/else循环来重复。for nin[nfo item _ container IFN==1]
#做工作
传球
否则:
# loopfallsthroughiftheflowisn不受干扰
#做一些其他的工作
传球
编辑:您只需要检查元素是否在容器中,然后执行语句。非常低效。使用set数据结构可以更快地完成这项任务,set数据结构是python中最常见的cpython实现。在一般情况和最坏情况下,该码的复杂度为o(n)。在
set check的平均值为o(1),最差情况下为o(1))(字典实现相同的实现)。在
因此,下面的代码会更快。元素=9
容器=集合(范围(1,10))
打印(找到匹配。找不到“ifelementincontainereelse”匹配项。)
详情请参考以下内容。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。