Kal*_*iMa 3 python list-comprehension list
例如,如果我有一个选择集K.
K = ['a','b','c']
Run Code Online (Sandbox Code Playgroud)
和长度N.
N = 4
Run Code Online (Sandbox Code Playgroud)
我想尽可能地回报:
['a','a','a','a']
['a','a','a','b']
['a','a','a','c']
['a','a','b','a']
...
['c','c','c','c']
Run Code Online (Sandbox Code Playgroud)
我可以用递归来做,但它没有意思.有更多的Pythonic方式吗?
这可以做到itertools.
>>> K = ['a','b','c']
>>> import itertools
>>> N = 4
>>> i = itertools.product(K,repeat = N)
>>> l = [a for a in i]
>>> l[:3]
[('a', 'a', 'a', 'a'), ('a', 'a', 'a', 'b'), ('a', 'a', 'a', 'c')]
Run Code Online (Sandbox Code Playgroud)
编辑:我意识到你真的想要product,而不是combinations_with_replacement.更新的代码.