Python—创建X';s和Y';它们以每种顺序出现

Python—创建X';s和Y';它们以每种顺序出现,python,list,element,Python,List,Element,其中每个元素的长度为n。 例如,如果我想列出X和Y的1次 然后=>['X','Y'] 2次: =>['XX,'YY','XY','YX'] 3次: =>['XXX','YYY','XYY','XYX','XXY','yyyx'等] 提前谢谢 您正在寻找 我想你要找的是带替换的组合。这里有一个0-5的例子 from itertools import * for i in range(5): print(list(itertools.combinations_with_replacement

其中每个元素的长度为n。 例如,如果我想列出X和Y的1次 然后=>['X','Y']

2次: =>['XX,'YY','XY','YX']

3次: =>['XXX','YYY','XYY','XYX','XXY','yyyx'等]

提前谢谢

您正在寻找


我想你要找的是带替换的组合。这里有一个0-5的例子

from itertools import *
for i in range(5):
    print(list(itertools.combinations_with_replacement("XY",i)))
输出:

 [()]
 [('X',), ('Y',)]
 [('X', 'X'), ('X', 'Y'), ('Y', 'Y')]
 [('X', 'X', 'X'), ('X', 'X', 'Y'), ('X', 'Y', 'Y'), ('Y', 'Y', 'Y')]
 [('X', 'X', 'X', 'X'), ('X', 'X', 'X', 'Y'), ('X', 'X', 'Y', 'Y'), ('X', 'Y', 'Y', 'Y'), ('Y', 'Y', 'Y', 'Y')]

欢迎来到堆栈溢出!看起来你想让我们为你写些代码。虽然许多用户愿意为陷入困境的程序员编写代码,但他们通常只在海报已经试图自己解决问题时才提供帮助。演示这项工作的一个好方法是,包括您迄今为止编写的代码、示例输入(如果有)、预期输出和实际获得的输出(控制台输出、堆栈跟踪、编译器错误——任何适用的)。检查,是否有其他方法不使用循环来执行此操作?例如使用递归?@user3422146这里的循环只是为了演示
product
对于
i
的多个值的用法。你根本不需要循环。只需尝试
[“”。为产品中的项目(“01”,repeat=2)]加入(项目)
哦,谢谢,但对于该代码,您提到的是用户itertools.product的应用程序吗?@user3422146是的,
产品
函数位于
itertools
模块中。使用itertools是否是解决此问题的唯一方法?订单问题,所以这不包括它。哦,我明白了。我刚才看了他第一个例子,X和Y=>['X','Y'],其中不包括['Y','X'],所以不清楚。可能是置换?这是真的吗?这就是产品,所以我认为上面评论中的第四条涵盖了他。
 [()]
 [('X',), ('Y',)]
 [('X', 'X'), ('X', 'Y'), ('Y', 'Y')]
 [('X', 'X', 'X'), ('X', 'X', 'Y'), ('X', 'Y', 'Y'), ('Y', 'Y', 'Y')]
 [('X', 'X', 'X', 'X'), ('X', 'X', 'X', 'Y'), ('X', 'X', 'Y', 'Y'), ('X', 'Y', 'Y', 'Y'), ('Y', 'Y', 'Y', 'Y')]