我的for循环未遍历所有可能的值

时间:2018-09-05 14:40:15

标签: python-3.x

我正在尝试将字母的子字符串按字母顺序存储在列表中

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

1 个答案:

答案 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