Py学习  »  Python

如何在python中生成两个值为n的数字的所有可能的置换?

Mohan Kumar sajja moka • 4 年前 • 723 次点击  

我想在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排列,但没用。任何人请给我一个解决办法。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/49614
 
723 次点击  
文章 [ 2 ]  |  最新文章 4 年前
Perplexabot
Reply   •   1 楼
Perplexabot    4 年前

您可以使用itertools:

from itertools import product

nums = [10, 100]
n = 3

ans = list(product(nums, repeat=n))
print(ans)
yatu
Reply   •   2 楼
yatu    4 年前

你可以用 itertools.product 并设置一个 repeat 共3页:

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)]