Pythonで,ある文字列があった時にそれを2文字ずつ(と言わずn文字ずつ)に分割してリストにする処理を書くことがあったので書いた.もとは参考資料様のものを使わせていただいていたのですが,4文字以上を使いたいこともあったので以下のような関数を作って実現.
1 2 3 4 5 |
# ======== split_n ======== # input : split_n("abcdefghijkl",3) # output: ["abc","def","ghi","jkl"] def split_n(text, n): return [ text[i*n:i*n+n] for i in xrange(len(text)/n) ] |
実行すると以下のような出力になる.
1 2 3 4 5 6 7 8 9 10 |
>>> from m1z0r3.crypro import split_n >>> _str = "abcdefghijkl" >>> split_n(_str,2) ['ab', 'cd', 'ef', 'gh', 'ij', 'kl'] >>> split_n(_str,3) ['abc', 'def', 'ghi', 'jkl'] >>> split_n(_str,4) ['abcd', 'efgh', 'ijkl'] >>> split_n(_str,5) ['abcde', 'fghij'] |