我试图实现Burrows-Wheeler在python中转换。(这是网课的作业之一,但希望自己做了一些功课,才有资格求助)。该算法的工作原理如下。取一个以特殊字符(在我的例子中是$)结尾的字符串,并从这个字符串创建所有循环字符串。按字母顺序对所有这些字符串进行排序,特殊字符总是小于任何其他字符。在此之后获取每个字符串的最后一个元素。这给了我一个单行:''.join([i[-1]foriinsorted([text[i:]+text[0:i]foriinxrange(len(text))])]对于相当大的字符串(这足以解决问题),这是正确且相当快的:60000chars-16secs40