我想在python代码中得到两个数字的排列,最多可以重复n次。
例子:
a = 10, b = 100 and given n = 3
现在我想要输出如下:
(10, 10, 10), (10, 10, 100), (10, 100, 10), (10, 100, 100), (100, 10, 10), (100, 10, 100), (100, 100, 10), (100, 100, 100)
我尝试了itertools排列,但没用。任何人请给我一个解决办法。
您可以使用itertools:
from itertools import product nums = [10, 100] n = 3 ans = list(product(nums, repeat=n)) print(ans)
你可以用 itertools.product 并设置一个 repeat 共3页:
itertools.product
repeat
from itertools import product a, b = 10, 100 n = 3 list(product([a,b], repeat=n)) [(10, 10, 10), (10, 10, 100), (10, 100, 10), (10, 100, 100), (100, 10, 10), (100, 10, 100), (100, 100, 10), (100, 100, 100)]