说我有['xyz']
。我想要所有可能的列表,因为x,y和z可以取值' a'和' b'。所以结果将是[aaa], [aab], [aba], [abb], [baa], [bab], [bba], [bbb]
。我想在没有先知道会有多少未知变量或可能值的情况下这样做。
有一种优雅而简单的方法吗?
最终结果应该返回一个列表列表:
[[aaa], [aab], [aba], [abb], [baa], [bab], [bba], [bbb]]
答案 0 :(得分:0)
您可以使用itertools.product,并使用.join将它生成的元组转换为字符串。
import itertools
[ ''.join(x) for x in itertools.product(['a','b'],repeat=3) ]
['aaa', 'aab', 'aba', 'abb', 'baa', 'bab', 'bba', 'bbb']