小编kan*_*ast的帖子

如何找到所有可能的方法将字符串划分为 n 个切片而无需递归?

我需要编写一个接收字符串和组数的函数,然后返回所有可能的切片选项。

即对于func('hello', 3)

[['h', 'e', 'llo'], ['h', 'el', 'lo'], ['h', 'ell', 'o'], ['he', 'll', 'o'], ['he', 'l', 'lo'], ['hel', 'l', 'o']]
Run Code Online (Sandbox Code Playgroud)

如何在不使用递归的情况下做到这一点?这应该只能使用循环和列表才能实现。

这类似于“将球分成垃圾箱”的问题,但在这种情况下它是不同的,因为对象的顺序永远不会改变,只是切片。

这是我目前拥有的代码:

def divide_into_two(word):
    list_of_divs = []
    for i in range(1, len(word)):
        list_of_divs.append([word[0:i], word[i:len(word)]])

    return list_of_divs
Run Code Online (Sandbox Code Playgroud)

它只将一个词分为两组。我想我们需要某种内部循环来继续划分它,以防它有更多的组,但我不知道该怎么做。

python loops for-loop list

4
推荐指数
1
解决办法
77
查看次数

标签 统计

for-loop ×1

list ×1

loops ×1

python ×1