された行はこの色です。削除された行はこの色です。array構築するぜ〜的なライブラリは数あれど、unicode文字列を検索したりいろいろするようなライブラリが無いので、せっかくだから作った。富豪的にメモリは一杯あること前提での実装で、mmapとかもしてないけど新聞記事一年分とか突っ込んでもメモリ250MB位だから問題ないよね。手早くやりたいことやるために作ったのでD+ジーに大きく依存しています。arrayの構築や検索はC++で行なっているので高速に動作します。python2.6以上で、3系でも動くかも。python2.6以上で、3系は今は動きません。-レポジトリ--http://bitbucket.org/aihara/pykwic-依存pythonライブラリ--cython--nosewindows用バイナリはそのうち用意します。arrayを構築します。要素をまたぐような文字列は検索されません。現在は、idなどを保持するようにはなっておらず、単純にkwicのような機能のみを提供しています。arrayが構築され、saveでインデックスを保存することができます。searchメソッドでは、検索文字列が存在する場所のprefixと、検索文字列を含むsuffixを取得できます。kwic的な事をするには、以下のような呼出を行えば可能です。x[0],query,x[1][len(query):]せっかくなので、拡張接尾辞配列もサポートしています。以下のようなコードで二回以上出現する極大部分文字列をその頻度とセットで取り出すことが可能です。頻度は、極大部分文字列として出現した頻度ではなく、文字列の単純な頻度です。maxmal_substringメソッドはジェネレータになっていて、極大部分文字列を一つずつ取り出すような実装になっています。maxsubst[0],maxsubst[1]おもちゃのようなコードですが、ちょっとした用例検索などに利用してください。cythonに直して便利にします。[#o5a6b6ea]コード。非常に有用なのでコピペしてお使いください。