Python—创建X';s和Y';它们以每种顺序出现
其中每个元素的长度为n。 例如,如果我想列出X和Y的1次 然后=>['X','Y'] 2次: =>['XX,'YY','XY','YX'] 3次: =>['XXX','YYY','XYY','XYX','XXY','yyyx'等] 提前谢谢 您正在寻找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
我想你要找的是带替换的组合。这里有一个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')]