まくまくPythonノート
リスト内の要素を結合して文字列にする (join)
2013-04-10

複数の文字列を連結する

join() メソッドを使うと、文字列のリストやタプルを連結して一つの文字列にすることができます。 join() メソッドの呼び出し元の文字列が、結合時に区切り文字として使用されます。

>>> t = ('AAA', 'BBB', 'CCC')
>>> ' '.join(t)
'AAA BBB CCC'

空文字列で join() メソッドを呼び出せば、区切り文字を間に挟まずに結合することができます。

>>> arr = ['A', 'B', 'C', 'D', 'E']
>>> ''.join(arr)
'ABCDE'

文字列以外のリスト要素を結合する

リストやタプルが文字列以外の要素を含んでいる場合は、join() はエラーになってしまうので、あらかじめ各要素を文字列に変換してから結合する必要があります。 以下の例では、map() 関数を使ってすべての数値要素に対して str() 関数を適用し、文字列のリストに変換してから join() を実行しています。

数値のリストを結合して1つの文字列にする

>>> arr = [100, 200, 300]
>>> ', '.join(map(str, arr))
'100, 200, 300'

リスト内包表記を使って、次のように書くのもありです。

>>> arr = [100, 200, 300]
>>> ', '.join([str(x) for x in arr])
'100, 200, 300'
2013-04-10