home changes contents help options

049:文字列を文字ごとに処理する

文字は、リストとして取り出せます。リストに変換するには、内包表現を使うのがよいでしょう。

 >>> a
 'spring has come'
 >>> a[0]
 's'
 >>> a[1]
 'p'

 >>> for i in a:
        print i,
 s p r i n g   h a s   c o m e

 >>> [i for i in a]
 ['s', 'p', 'r', 'i', 'n', 'g', ' ', 'h', 'a', 's', ' ', 'c', 'o', 'm', 'e']

日本語の時は、一度unicodeに変換してから文字に分解する。例はWindowsで動いている。 日本語の取り扱いについては、 日本語環境でのPython を見てください。

 >>> a='春がきた'
 >>> c=unicode(a,'shift_jis')
 >>> c
 u'\u6625\u304c\u304d\u305f'
 [i.encode('CP932') for i in c]
 ['春', 'が', 'き', 'た']