【发布时间】:2013-11-24 14:37:42
【问题描述】:
我有一个字符串 str1 = "ABC",我需要在字符串 str1 中插入 0 到 len(str1) 个“x”,除了最后一个位置。
所以在上面的例子中,我想要一个在字符串之前或内部放置 0 到 2 个“x”的结果列表,看起来像
["ABC",
"xABC",
"AxBC",
"ABxC",
"xxABC",
"xAxBC",
"xABxC",
"AxxBC",
"AxBxC",
"ABxxC"]
我尝试了一些如下代码(我确实意识到我错过了一些组合):
>>> for i in range(1, len(str1)):
... for k in range(len(str1)):
... str1[:k]+"x"*i+str1[k:]
...
'xABC'
'AxBC'
'ABxC'
'xxABC'
'AxxBC'
'ABxxC'
>>>
我不太确定如何通过两者之间的交错来处理另一种情况,例如xAxBC 等
解决这个问题的最佳方法是什么?
【问题讨论】:
-
@alko 感谢您指出这一点。但是问题不一样。
标签: python string concatenation combinations permutation