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']