一、疑难杂症
最近工作中遇到一个难题,优化一个项目的计算时间。最初,建立项目时用户少,中间使用了for循环,还是嵌套的,共两层,项目整体运行一次耗时1-2个小时。最近,随着用户量增长,项目耗时达到6-7个小时。显然是不能接受的。
for t, w in user_tags:
for it, w in tag_items[t]:
...some计算...
上面的计算,外层x内层的次数大于60万。于是,时间就长了。
二、原因分析
原因很简单就是用
这篇文章主要介绍了Python for循环搭配else常见问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
假设有如下代码:
for i in range(10):
if i == 5:
print 'found it! i = %s' % i
else:
print 'not found it ...'
你期望的结果是,当找到5时打印出
found it! i = 5
实际上打印出来的结果为:
found it!
for 循环
For … in 语句是另一种循环语句,其特点是会在一系列对象上进行迭代(Iterates),即它会遍历序列中的每一个项目
注意:
1、else 部分是可选的。当循环中包含它时,它循环中包含它时,它总会在 for 循环结束后开始执行,除非程序遇到了 break 语句。
2、for … in 能在任何队列中工作。有的是通过内置 range 函数生成一串数字列表,也可以是包含任何类型对象的队列。
Eg.数字列表
for i in range(1,5):
print(i)
else