この記事では、Pythonのリストと文字列の変換について説明します。
Pythonのリストは、操作のために要素を表現する目的に役立ちます。
基本的には同質な要素の集まりを表します。
また、Pythonの文字列は、入力として文字の形で要素の集まりの目的を果たします。
Listの要素は、以下のいずれかの方法でStringに変換することができます。
- join() メソッドを使用します。
- List Comprehensionを使用した場合
- for ループによる反復処理
- map()メソッドによる変換
この記事もチェック:Pythonのタプルとは|forや結合、リストからの変換等を解説する
1. Python join()メソッドによるListからStringへの変換
Pythonのjoin()メソッドはPythonでListをStringに変換するために使うことができます。
join()`メソッドはList、Tuples、Stringなどのイテラブルをパラメータとして受け取ります。
さらに、引数としてイテラブルから連結した要素を含む新しい文字列を返します。
注意: join() メソッドの必須条件は、渡されたイテラブルに文字列要素が含まれていることです。
もし、イテラブルに整数が含まれていた場合、例外 TypeError が発生します。
構文は以下の様な感じです。
string.join(iterable) |
例えば、以下の様になります。
inp_list = ['John', 'Bran', 'Grammy', 'Norah']
out_str = " "
print("Converting list to string using join() method:)
print(out_str.join(inp_list))
|
上記の例では、join()メソッドはinp_listをパラメータとして受け取り、リストの要素をout_strに連結して、出力として文字列を返しています。
結果は以下の通りです。
Converting list to string using join() method:
John Bran Grammy Norah |
2. Python List を String に変換する join() メソッドと一緒に List Comprehension を使用します。
Python List Comprehension は、既存のリストから要素のリストを作成します。
さらに、for ループを使用して、要素ごとのパターンで反復処理可能な項目を走査します。
Python List Comprehension は join() メソッドと一緒に、リストを文字列に変換するために使われることがあります。
リスト内包は要素を要素ごとに走査し、join()メソッドはリストの要素を新しい文字列に連結し、それを出力として表します。
例えば、以下の様になります。
inp_list = ['John', 'Bran', 'Grammy', 'Norah']
res = ' '.join([str(item) for item in inp_list])
print("Converting list to atring using List Comprehension:)
print(res)
|
結果は以下の通りです。
Converting list to atring using List Comprehension:
John Bran Grammy Norah |
3. Python map()関数によるリストと文字列の変換
Pythonのmap()関数を使うと、リストを文字列に変換することができます。
map()`関数は、関数とリスト、タプル、文字列などの反復可能なオブジェクトを受け取ります。
それを受けて、map()関数はイテラブルの要素を与えられた関数でマップします。
構文は以下の様な感じです。
map(function, iterable)
|
例えば、以下の様になります。
inp_list = ['John', 'Bran', 'Grammy', 'Norah']
res = ' '.join(map(str, inp_list))
print("Converting list to string using map() method:)
print(res)
|
map(str, inp_list) 関数は、str関数とinp_listを引数として受け取ります。
入力された反復処理可能なリスト(list)の各要素を与えられた関数にマッピングして、要素のリストを返します。
さらに、出力を文字列にするためにjoin()メソッドを使用します。
出力は以下の通りです。
Converting list to string using map() method:
John Bran Grammy Norah |
4. Pythonのリストを文字列に変換するためのforループを使った反復処理
この手法では、入力リストの要素を1つずつ繰り返し、新しい空の文字列に追加していきます。
このように、リストを文字列に変換します。
例えば、以下の様になります。
inp_str = ['John', 'Bran', 'Grammy']
st = ""
for x in inp_str:
st += x
print(st)
|
結果は以下の通りです。
JohnBranGrammy |
文字列のリストを文字列に変換する
リスト形式の文字の集合であっても、上記と同様の方法で文字列に変換することができます。
以下に、文字列のリストから文字列への変換を示す例を示します。
例えば、以下の様になります。
inp_str = ['J', 'o', 'u', 'r', 'n', 'a', 'l', 'd', 'e', 'v']
st = ""
for x in inp_str:
st += x
print(st)
|
結果は以下の通りです。
Journaldev |
この記事もチェック:PythonでリストをJSON文字列に変換する方法
まとめ
このように、今回はPythonのListからStringへの変換の様々なテクニックや方法について勉強してきました。