当前位置:首页 » 编程语言 » 笛卡尔积python

笛卡尔积python

发布时间: 2024-04-06 18:46:55

python中断多重循环的几种思路

事实上,Python的标准语法是不支持跳出多重循环的,所以只能利用一些技巧,大概的思路有:写成函数、利用笛卡尔积、利用调试。
写成函数
在Python中,函数运行到return这一句就会停止,因此可以利用这一特性,将功能写成函数,终止多重循环,例如
def work(): for i in range(10): for j in range(10): if i+j > 5: return i,jprint work()

利用笛卡尔积
这种方法的思路就是,既然可以跳出单循环,我就将多重循环改写为单循环,这可以利用itertools中的笛卡尔积函数proct,例如
from itertools import proctfor i,j in proct(range(10), range(10)): if i+j > 5: print i,j break

利用调试模式
笛卡尔积的方式很巧妙,也很简洁,但它只能用于每次循环的集合都是独立的情形,假如每层循环都与前一层紧密相关,就不能用这种技巧了。这时候可以用第一种方法,将它写成函数,另外,还可以利用调试模式。这个利用了调试模式中,只要出现报错就退出的原理,它伪装了一个错误出来。
class Found(Exception): passtry: for i in range(10): for j in range(i): #第二重循环跟第一重有关 if i + j > 5: raise Foundexcept Found: print i, j

⑵ Excel的公式参照有不定数的同码重复列,以设定的条件,依序读取也有不定数的同码重复的列

按你的需求,用excel公式不可能实现,H!B列和CP!D列有重复值是硬伤,两张表这两个字段进行关联后,记录数将是笛卡尔积,而不是你要求的取B列中重复记录个数。
用python去写吧,更容易实现一些。

热点内容
二级c语言题库下载 发布:2025-07-16 06:22:19 浏览:970
40台光纤监控如何配置 发布:2025-07-16 06:13:00 浏览:28
兰博的脚本是什么 发布:2025-07-16 06:11:16 浏览:715
sql导出存储过程 发布:2025-07-16 06:10:41 浏览:971
c语言txt换行 发布:2025-07-16 06:00:25 浏览:280
腾讯视频如何缓存加快 发布:2025-07-16 05:58:49 浏览:719
android页面跳转传值 发布:2025-07-16 05:56:43 浏览:39
没有jre能编译吗 发布:2025-07-16 05:51:47 浏览:824
6s忘了锁屏密码怎么办 发布:2025-07-16 05:33:30 浏览:711
广州大学编译原理考试 发布:2025-07-16 05:23:15 浏览:810