首页 > 解决方案 > 如何遍历 3 个列表的所有组合?

问题描述

我有三个列表,并且想要调用一个函数,该函数接受 3 个参数以及这 3 个列表的所有可能的值组合。

如果满足条件,则打印组合的 3 个值。

最快最好的方法是什么?

这是我的三个清单:

a = np.linspace(0.01,constants.pi/2,50)  
b = np.arange(20,62,2)       
c = np.arange(0.3,1.5,0.1)

我想在每次迭代中调用一个函数,比如说 testAllCombination(a[i],b[j],c[k]),如果 a 返回的值 > 0,则打印 3 个值 a[i], b [j] 和 c[k]。有可能以简单的方式做到这一点吗?

标签: pythonarrayslist

解决方案


看来您需要列表的笛卡尔积。

import itertools
list(itertools.product(a,b,c))

请注意,此操作会50*21*12=12600导致a,b,c.


推荐阅读