或阿呆のブログ

Pythonを好んで使っているプログラマです。Ruby,Perl,PowerShell,VBAなどでもたまに書いています。おバカなことが大好きです。

Python 文字列を文字のリストに

文字列を1文字ずつに分解したい場合にどうしようかと。

Perlだと、、、

main::(-e:1):   0

  DB<1> $s = "This is a string."


  DB<2> for(split(//,$s)){print '[',$_,']'}
[T][h][i][s][ ][i][s][ ][a][ ][s][t][r][i][n][g][.]

こんな具合に、空文字でsplitすればいける。

Pythonだと、、、

Perlと同じように、

>>> s = "This is a string."
>>> s.split('')
Traceback (most recent call last):
  File "<ipython-input-6-c31bd2432bc1>", line 1, in <module>
    s.split('')
ValueError: empty separator

>>>

ってやると、こんなふうに怒られる。

素直に、listの引数に与えてあげてインスタンスを生成すればいい。

>>> list(s)
['T', 'h', 'i', 's', ' ', 'i', 's', ' ', 'a', ' ', 's', 't', 'r', 'i', 'n', 'g',
 '.']

便利だわぁ~