亲爱的大家, 给定一个具有三个值的变量,我试图生成所有可能的组合,例如这些变量的三元组。
虽然这段代码可以解决问题,
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 胞胎、5 胞胎等等?
请您参考如下方法:
import itertools
site_range=[0,1,2]
[x for x in itertools.product(site_range, repeat=len(site_range))]
