Pythonの文字列に関するメソッド➀ということで、文字列を空白で区切ってリスト化する方法や、逆にリストに格納された文字列を指定した文字で結合する方法を紹介します。
文字列をリスト化する(split)
- 「文字列.split(区切り文字)」と書く
- 区切り文字なしなら空白で区切られる
- リストに格納される
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#空白で区切る >>> bun = 'This is a pen' >>> bun.split() ['This', 'is', 'a', 'pen'] #指定した文字で区切る >>> bun2 = 'ThisAisAaApen' >>> bun2.split('A') ['This', 'is', 'a', 'pen'] #日本語でも同様 >>> bun3 = 'こんにちは今日はいい気分。' >>> bun3.split('は') ['こんにち', '今日', 'いい気分。'] |
改行などのエスケープ文字でも区切ることができます。
1 2 3 4 5 6 7 |
bun4 = 'apple\norange\nbanana' bun4.split('\n') print(bun4.split('\n')) #出力結果 ['apple', 'orange', 'banana'] |
splitメソッドは標準入力のinput関数でも使うことができます。
関連記事
こんにちは、今回はPythonの標準入力についてみていきたいと思います。 paizaで問題を解いてレベルアップをするには避けては通れない標準入力ですが、私は何も知らずに突っ込んでさっぱりわからず撃沈した記憶があります。(笑) […]
文字列のリストを結合する(join)
- 「'{結合文字}’.join(文字列のリスト)」と書く
- 文字列のリストを結合文字でつなげてくれる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
>>> word = ['This', 'is', 'a', 'pen'] #スペースでつなげる >>> ' '.join(word) 'This is a pen' #スペースなし >>> ''.join(word) 'Thisisapen' #結合文字を指定 >>> 'A'.join(word) 'ThisAisAaApen' #日本語でも同様 >>> jpw = ['こんにち', '今日', 'いい気分。'] >>> 'は'.join(jpw) 'こんにちは今日はいい気分。' |
指定した文字でリスト内のデータを結合してくれます。ただし、リスト内のすべての要素がstr型でないと結合できません。
1 2 3 4 5 6 |
>>> spam = ['This', 'is', 3, 'pens'] >>> ' ' .join(spam) Traceback (most recent call last): File "<pyshell#23>", line 1, in <module> ' ' .join(spam) TypeError: sequence item 2: expected str instance, int found |
この例のように一つでも整数(int型)であればエラーが発生します。「TypeError」とは「データ型ミスってるよ」という意味です。
まとめ
- 文字列のリスト化はsplitメソッド
- 指定した文字で区切る
- してしなければ空白区切り
- 文字列のリストを結合するならjoinメソッド
- 指定した文字で結合する
Pythonの文字列に関する記事たち
5
関連記事
プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]