我是靠谱客的博主 美丽河马,最近开发中收集的这篇文章主要介绍python中for else循环_Python中的For循环和else语句,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

可以将else块与循环语句一起使用。如果循环流没有受到诸如break之类的语句的干扰,它将落入else块。我在下面提供了一个简单的质数查找器:for n in range(2, 10):

for x in range(2, n):

if n % x == 0:

print n, 'equals', x, '*', n/x

break

else:

# loop fell through without finding a factor

print n, 'is a prime number'

^{pr2}$

注意:如果您将for/else语句与列表理解结合起来,您可以实现您想要的目标。

简单列表理解:# For generating a list of odd numbers from 1 to 10

[n for n in range(1, 10) if n % 2 == 1]

# Generator version preventing evaluation of the whole list at once.

(n for n in range(1, 10) if n % 2 == 1)

这样,您将使用列表理解方法生成一个iterable容器,并使用for/else循环对其进行迭代:for n in [n for item_container if n == 1]

# Do work

pass

else:

# Loop falls through if the flow isn't disturbed

# Do some other work

pass

编辑:您所要求的只是检查元素是否在容器中,然后执行语句。效率极低。使用CPython(Python最常见的实现)中的set数据结构可以更快地完成这项工作。在在平均情况下和最坏情况下,您的代码具有O(n)复杂性。在

set成员检查的平均值是O(1),最坏的情况是O(n)(dictionary有类似的实现)。在

因此,下面的代码将比快得多:element = 9

container = set(range(1, 10))

print("Match Found." if element in container else "Match Not Found.")

有关详细信息,请查看以下内容:

最后

以上就是美丽河马为你收集整理的python中for else循环_Python中的For循环和else语句的全部内容,希望文章能够帮你解决python中for else循环_Python中的For循环和else语句所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部