Python で文字列からサフィックス配列を作成する非常に簡単な方法を次に示します。
def sort_offsets(a, b):
return cmp(content[a:], content[b:])
content = "foobar baz foo"
suffix_array.sort(cmp=sort_offsets)
print suffix_array
[6, 10, 4, 8, 3, 7, 11, 0, 13, 2, 12, 1, 5, 9]
ただし、「content[a:]」はコンテンツのコピーを作成するため、コンテンツが大きくなると非常に非効率になります。だから、2つの部分文字列をコピーせずに比較する方法があるのだろうか. buffer-builtin を使用しようとしましたが、うまくいきませんでした。