排序列表:查找从新位置开始的元素

有关获取与条件匹配的字符串并从满足条件的位置开始新搜索的问题。

我有一个城镇列表,我想为字母表中的每个字母提取一个字符串,每个新搜索都从上一个搜索的位置开始。

最好的一般方法是什么?对于“ A”之后的字符串,我是否需要比较结果的索引或创建字典?例如在Python中,我可以从列表中的特定位置继续搜索吗?

# Ordered list of towns
towns = ['The Gord', 'Wilna Geo', 'The Framd', 'The Fild', 'Iron Geo', 'Brim Ness', 'RRH Saxa Vord', 'Houll', 'Skaw', 'Norwick', 'Burrafirth', 'Saxa Vord']


    alpha = []
    for elem in towns[:]:
        if str(elem).startswith("A"):
            alpha.append(elem)
            break
        # new search starting from position where 'A' was true; return next value starting with 'B' - 
        if str(elem).startswith("B"):
            alpha.append(elem)
        # Continue with the rest of the letters
    return alpha

您将如何构想我要实现的目标?

除了Python外,什么框架可以更好地满足我的需求,例如SQL,R,其他?