python - 在Python中查找拆分字符串的所有列表排列

标签 python string split permutation

我有一串字母,我想拆分成所有可能的组合(字母的顺序必须保持固定),这样:

s = 'monkey'

变成:

combinations = [['m', 'onkey'], ['mo', 'nkey'], ['m', 'o', 'nkey'] ... etc]

有什么想法吗?

最佳答案

def splitter(str):
    for i in range(1, len(str)):
        start = str[0:i]
        end = str[i:]
        yield (start, end)
        for split in splitter(end):
            result = [start]
            result.extend(split)
            yield result

combinations = list(splitter(str))

请注意,我默认使用生成器,以免您因长字符串而耗尽内存。

关于python - 在Python中查找拆分字符串的所有列表排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4904430/

相关文章:

php - 在某个字符之后删除字符串的一部分

go - 将文件分成几个 block

r - 将 R 数据框分成几行

python - rhel7 matplotlib : "ImportError: No module named Tkinter"

python - 无法使用 Python 3 编写的 gzip.open() 将压缩文件上传到云存储

python - 当前路径与其中任何一个都不匹配。错误Django

java - Java中如何将一个视频文件分割成多个视频文件

python virtualenv安装模块报错

c++ - 在 C++ 中创建可修改的字符串文字

php - MYSQL - 根据列是否为空将值追加或插入到列中