1. Une fonction personnalisée peut renvoyer une liste de sous-chaînes dans l'ordre.
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"))
Le résultat est:
2. Il peut également être résolu en une seule ligne, ce qui équivaut à la fonction personnalisée ci-dessus.
>>> 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']