トップ 一覧 検索 ヘルプ RSS ログイン

joinとsplit.pyの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
{{category Python}}
Pythonでは、splitは文字列のメソッドである。そしてjoinも。
joinの場合、連結の区切り文字列に対して呼び出す。

 s2a = "a,b,c,d,e,f".split(",")
 a2s = ",".join(s2a)

splitは文字列に対してしか呼び出せないので特に問題はない。
注意しなければならないのは、joinも文字列に対する操作である、ということである。

 >>> ",".join([1, 2, 3, 4, 5])
 Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
 TypeError: sequence item 0: expected string, int found

文字列でないものはjoin連結できないから。
シーケンス・オブジェクトの中に、ひとつでも文字列でないものがあると、TypeErrorが投げられる。

しかし、文字列として連結して表示したいではないか。
そのときはリスト内包表記を使って、シーケンスの全要素を文字列に変換する。

 int_array = [1, 2, 3, 4, 5]
 print ",".join([str(item) for item in int_array])