当前位置:首页 » 编程语言 » 笛卡尔积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去写吧,更容易实现一些。

热点内容
安卓系统显示屏怎么设置屏保 发布:2025-01-20 19:18:53 浏览:895
有锁机和配置锁哪个好 发布:2025-01-20 19:18:05 浏览:766
安卓版软件如何设置 发布:2025-01-20 18:58:53 浏览:57
java中级项目案例 发布:2025-01-20 18:58:52 浏览:912
sql日志查看工具 发布:2025-01-20 18:57:12 浏览:242
数据库删除表格 发布:2025-01-20 18:51:22 浏览:439
c语言head 发布:2025-01-20 18:41:36 浏览:736
xboxone绝地求生怎么设置服务器 发布:2025-01-20 18:22:12 浏览:176
编译字母表 发布:2025-01-20 18:20:38 浏览:243
c语言输入日期计算天数 发布:2025-01-20 18:11:57 浏览:949