1. 程式人生 > 其它 >python返回字串的所有子串(小技巧)

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

技術標籤:python小技巧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']