亲爱的各位, 给定一个变量,比如说,三个值,我试图生成所有可能的组合,比如说,这些变量的三元组。在
当这个代码起作用的时候
site_range=[0,1,2]
states = [(s0,s1,s2) for s0 in site_range for s1 in site_range for s2 in site_range]
这有点,嗯,笨拙,而且只有当我试图对超过三个变量的组合做同样的操作时,情况会变得更糟
因此,我的Python 101问题:
如何使用迭代器重写上面的代码?我的意思是,有没有可能有一个迭代器来产生上面的“状态”元素?
有没有可能将这一点扩展到不仅生成三胞胎,还生成4-plets、5-plets等等?
使用^{} :
编辑正如@Glenn Maynard在评论中指出的那样,这不是笛卡尔积。为此,您必须检查his answer。在
相关问题 更多 >
编程相关推荐