熊猫-在固定位置生成字符串排列

时间:2020-08-25 21:18:44

标签: python pandas

我希望从字符串中生成可能的排列,以使排列仅发生在固定位置

示例字符串-'ABC|DE|F'

预期结果:

ABCE
ABCF
ABDE
ABDF

您可以读取示例字符串,因为位置0和1没有置换,而位置3和4可以分别具有2。让我知道是否需要进一步澄清。谢谢

编辑-C和D不能同时出现。 E和F相同

1 个答案:

答案 0 :(得分:0)

我认为这就是您要寻找的。我使用正则表达式为每个位置形成可能的字母列表,然后生成了字符串。

from re import search
def bkt(l, s=""):
    if not l:
        print(s)
    else:
        for i in l[0]:
            bkt(l[1:], s+i)

string = 'ABC|DE|F'
l = []
while string:
    find = search("[A-Z](\|[A-Z])+|[A-Z]", string)
    l.append(string[find.span()[0]:find.span()[1]].split("|"))
    string = string[find.span()[1]:]
bkt(l)