Pythonのリストからカンマ区切りの文字列を作成する方法
Pythonのjoin()メソッドとは
Pythonには、リストやタプルといったシーケンスオブジェクトの要素を、指定した区切り文字で連結して1つの文字列として返す組み込みのjoin()メソッドが用意されています。区切り文字が不要な場合は空文字列('')を、カンマ区切りの文字列を作成したい場合は「,」をあらかじめ変数に設定しておきます。
基本的な使い方
次の例では、文字のリストをカンマ区切りの文字列に変換しています。
>>> lst = ['h', 'e', 'l', 'l', 'o']
>>> sep = ','
>>> sep.join(lst)
'h,e,l,l,o'
このように、区切り文字となる文字列に対してjoin()を呼び出し、引数にリストを渡すだけで、要素同士の間に区切り文字を挿入した文字列を簡単に生成できます。
数値が含まれるリストの場合
リストに数値などの文字列以外の要素が含まれていると、そのままjoin()を呼び出すとTypeErrorが発生します。このような場合は、map(str, lst)を使ってすべての要素を文字列に変換してから連結します。
>>> nums = [1, 2, 3, 4, 5]
>>> ','.join(map(str, nums))
'1,2,3,4,5'
まとめ
リストをカンマ区切りの文字列に変換するには、区切り文字「,」に対してjoin()メソッドを使用します。要素に文字列以外が混在する場合はstrへの変換を忘れないようにしましょう。なお、サンプルコード内で区切り文字を格納する変数名にstrのような組み込み関数名を使うと上書きされてしまうため、sepなど別の名前を使うのが安全です。
-
Pythonで文字列から部分文字列を抽出する方法|正規表現のグループキャプチャ活用
正規表現のグループキャプチャを使った部分文字列の抽出 Pythonで文字列の中から特定の部分文字列を取り出したい場合、reモジュールの正規表現における「グループキャプチャ」を利用するのが効果的です。この手法を使うには、抽出したい部分文字列のフォーマットや、その前後の文脈をある程度把握しておく必要があります。 例えば、文章の中から「$xxx,xxx.xx」という形式で書かれた金額情報を抽出したいとします。その場合は、re.search()と括弧で囲んだキャプチャグループを次のように組み合わせます。 import re text = The phone is priced at $15,745.
-
Python 3で文字列をバイト列に変換する方法【encode()の使い方を解説】
Python 3で文字列をバイト列に変換する方法 Python 3で文字列(str型)をバイト列(bytes型)に変換するには、文字列クラスが標準で持っている encode() メソッドを使用します。最も一般的なのは、エンコーディングとして utf-8 を指定する方法です。 基本的な使い方 >>> s = uHellΘ WΘrld >>> s.encode(utf-8) bHell\xce\x98 W\xce\x98rld この例では、Unicode文字「Θ」がUTF-8でエンコードされ、2バイトのシーケンス \xce\x98 に変換されています。戻り値には