python返回字符串的所有子串(小技巧)

1、自定义函数,可以按顺序返回子串列表。

def restr(s):
    results = []
    # x + 1 表示子串的长度
    for x in range(len(s)):
        # i 表示滑窗长度
        for i in range(len(s) - x):
            results.append(s[i:i + x + 1])
    return results

print(restr("flow"))

结果为:
在这里插入图片描述
2、也可以一行解决,等同于上面的自定义函数。

>>> s = 'flow'
>>> [s[i:i + x + 1] for x in range(len(s)) for i in range(len(s) - x)]
['f', 'l', 'o', 'w', 'fl', 'lo', 'ow', 'flo', 'low', 'flow']

猜你喜欢

转载自blog.csdn.net/weixin_44414948/article/details/113746341
今日推荐