例如,初始列表L=["by","article","circle","for","line","dance","effort"],我想要取出["article","circle","for","line"]作为结果。因为L中的第一个字母是(b,a,c,f,l,d,e),并且(a,c,f,l)的顺序比(d,e)的顺序更长,所以结果是["article","circle","for","line"]。如何修复我的代码?由于我是新手,所以我对sorted()和嵌套循环感到困惑。
def find_longest_consisting(test_case):
if not test_case:
return []
result = []
for i in range(len(test_case)):
for j in range(i + len(result) + 1):
substring = test_case[i:j]
if len(substring) != (j - i):
break
if sorted(substring) == list(substring):
result = substring
return result
test_cases = ["by","article","circle","for","line","dance","effort"]
test_result = find_longest_consisting(test_cases)
print(test_result)