Python でリストをカンマ区切りの文字列に変換する

Manav Narula 2023年1月30日
  1. Python で join() 関数を使用してリストをカンマ区切りの文字列に変換する
  2. Python で StringIO モジュールを使用してリストをカンマ区切りの文字列に変換する
Python でリストをカンマ区切りの文字列に変換する

リストを使用して、さまざまな要素を共通の名前で格納できます。文字列は文字の集まりです。

このチュートリアルでは、リストをコンマ区切りの文字列に変換します。

Python で join() 関数を使用してリストをカンマ区切りの文字列に変換する

join() 関数は、反復可能要素の要素を組み合わせて文字列を返します。文字列内の要素の区切り文字として使用される文字を指定する必要があります。

カンマ区切りの文字列を作成するには、カンマを区切り文字として使用します。

以下のコードを参照してください。

lst = ["c", "e", "a", "q"]
s = ",".join(lst)
print(s)

出力:

c,e,a,q

上記のメソッドは、文字列を含むリストにのみ制限されています。

リスト内包表記と str() 関数を使用して、整数またはその他の要素を含むリストを操作できます。リスト内包表記を使用すると、for ループを使用して要素を 1 行で簡単に反復処理し、str() 関数を使用して各要素を文字列に変換できます。

これを次のコードで実装します。

lst = [8, 9, 4, 1]
s = ",".join([str(i) for i in lst])
print(s)

出力:

8,9,4,1

map() 関数を使用して、リスト内包表記を削除することもできます。map() 関数を使用すると、str() 関数をすべての要素に適用することで、リストのすべての要素を文字列に変換できます。

例えば、

lst = [8, 9, 4, 1]
s = ",".join(map(str, lst))
print(s)

出力:

8,9,4,1

Python で StringIO モジュールを使用してリストをカンマ区切りの文字列に変換する

StringIO オブジェクトはファイルオブジェクトに似ていますが、テキストを処理するためにメモリ内にあります。Python 2 では、StringIO モジュールを使用して直接インポートできます。Python 3 では、io モジュールに保存されていました。

csv.writerow() 関数を使用して、リストを StringIO オブジェクトの CSV ファイルのコンマ区切り行として書き込むことができます。このためには、最初に csv.writer オブジェクトをインスタンス化する必要があります。次に、getvalue() 関数を使用して、このオブジェクトの内容を文字列に格納できます。

次のコードを参照してください。

import io
import csv

lst = [8, 9, 4, 1]
s_io = io.StringIO()
writer = csv.writer(s_io)
writer.writerow(lst)
s = s_io.getvalue()
print(s)

出力:

8,9,4,1

unpack 演算子で print() 関数を使用することもできます。unpack 演算子*は、反復可能オブジェクトのすべての要素を解凍し、print() 関数の file パラメーターを使用して StringIO オブジェクトに格納します。

以下のコードを参照してください。

import io

lst = [8, 9, 4, 1]
s_io = io.StringIO()
print(*lst, file=s_io, sep=",", end="")
s = s_io.getvalue()
print(s)

出力:

8,9,4,1
著者: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

関連記事 - Python List

関連記事 - Python String