嫁ちゃん
文字列を繋(つな)ぎあわせたいんですけど?
わたし
join() メソッドを使えば簡単に繋ぎあわせることができるよ。
目次
はじめに
join() メソッドを使えば、要素間(文字と文字の間(あいだ))にセパレータ(区切り文字)を入れることもできます。文字列の連結なので、数値がリストに含まれているとエラーが出力されます。
用法
str.join(iterable)
iterable 中の文字列を結合した文字列を返します。 iterable に
bytes
オブジェクトのような非文字列の値が存在するなら、TypeError
が送出されます。要素間のセパレータは、このメソッドを提供する文字列です。組み込み型 – Pythonドキュメント から引用
例
lst = ['This', 'is', 'a', 'pen.']
print(' '.join(lst))
セパレータ(区切り文字)としてスペースが挟まれましたね。
This is a pen.
リスト要素に数値が含まれている場合、エラーが出力されます。その差異は、文字列に変換してから連結(結合)する必要があります。
lst = ['aaa', 123, 'bbb']
print('-'.join(str(m) for m in lst)) # str型へ変換し連結
aaa-123-bbb
map関数を使って文字列に変更することもできます。
tel = [123, 456, 789]
tel = map(str, tel)
print('-'.join(tel))
123-456-789
join() メソッドの引数は iterable(イテラブル)
ですので、for
文などで繰り返し可能な型を渡すことができます。以下の例では、文字列を連結しています。
s = 'abcde'
print('-'.join(s))
a-b-c-d-e
おわりに
嫁ちゃん
文字列の連結(結合)ができたねー♪
わたし
数値の文字を連結するときは注意が必要だね。リストの中に数値が含まれているかわからない場合は、文字列に変換しておくといいね。
[A8_TechAcademy065]
[Footer]