我正在尝试将字母的子字符串按字母顺序存储在列表中
s = 'azcbobobegghakl'
string = ''
List = []
i = -1
for letter in s:
if letter == s[0]:
string += letter
elif letter >= s[i]:
string += letter
elif letter < s[i]:
List.append(string)
string = letter
i += 1
print(List)
我的预期结果:
['az', 'c', 'bo', 'bo', 'beggh', 'akl']
我的实际输出:
['az', 'c', 'bo', 'bo']
答案 0 :(得分:2)
首先,您的第一个if
语句不正确。它应该是if i == -1:
。由于存在此错误,您将忽略a
中的第二个s
字符。
第二,在字符串末尾,不要将string
的剩余内容添加到List
中。
因此,以下是您想要的:
s = 'azcbobobegghakl'
string = ''
List = []
i = -1
for letter in s:
if i == -1:
string += letter
elif letter >= s[i]:
string += letter
elif letter < s[i]:
List.append(string)
string = letter
i += 1
List.append(string)
print(List)
有一个示例here。