Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでタプルのリストを文字列のリストに変換する方法

Pythonでデータ処理を行っていると、要素がタプルになっているリストを扱う場面に遭遇することがあります。さらに、そのタプルを文字列へ変換し、文字列のリストとして取得したいケースも少なくありません。

本記事では、タプルのリストを文字列のリストに変換する2つの代表的な方法を、具体的なコード例とともに解説します。

方法1:join()とリスト内包表記を使う

文字列のjoin()メソッドは、シーケンス(ここではタプル)の各要素を指定した区切り文字で連結し、1つの文字列として返します。区切り文字に空文字列''を指定すれば、タプル内の要素をそのまま連結できます。

リスト内包表記を使えば、リスト内のすべてのタプルに対してjoin()を適用し、結果を新しいリストとしてまとめられます。

コード例

listA = [('M','o','n'), ('d','a','y'), ('7', 'pm')]
# 元のリスト
print("Given list : \n", listA)
res = [''.join(i) for i in listA]
# 結果
print("Final list: \n", res)

実行結果

Given list :
[('M', 'o', 'n'), ('d', 'a', 'y'), ('7', 'pm')]
Final list:
['Mon', 'day', '7pm']

この例では、タプル('M','o','n')'Mon'('d','a','y')'day'('7', 'pm')'7pm'という文字列にそれぞれ変換されています。

方法2:map()とjoin()を組み合わせる

もう1つの方法は、map()関数を使ってリストの各要素にjoin()メソッドを適用するアプローチです。map()はイテレータを返すため、最後にlist()で囲むことで結果をリストとして取得します。

コード例

listA = [('M','o','n'), ('d','a','y'), ('7', 'pm')]
# 元のリスト
print("Given list : \n", listA)
res = list(map(''.join, listA))
# 結果
print("Final list: \n", res)

実行結果

Given list :
[('M', 'o', 'n'), ('d', 'a', 'y'), ('7', 'pm')]
Final list:
['Mon', 'day', '7pm']

まとめ

どちらの方法でも同じ結果が得られます。リスト内包表記は可読性が高くPythonらしい書き方であり、map()を使う方法はやや簡潔に記述できるのが特徴です。状況に応じて使い分けるとよいでしょう。

  1. Pythonで文字列のリストをリストのリスト(ネストしたリスト)に変換する方法

    この記事では、文字列型のデータを含むリストから、リストのリスト(入れ子構造のリスト)を作成する方法を解説します。元のリストには、リスト形式の文字列が要素として格納されており、それらを個々の要素に分解して、真のリスト構造へと変換していきます。strip()とsplit()を使う方法まず紹介するのは、strip()とsplit()の2つのメソッドを組み合わせる方法です。strip()で各文字列から不要な角括弧「[ ]」を取り除き、その後split()を使ってカンマ区切りで要素を分割することで、リストのリストを生成できます。コード例list1 = [ [0, 1, 2, 3],[Mon, Tue,

  2. Pythonでタプルのリストを辞書に変換する方法を解説

    Pythonでは、キーと値のペアを持つタプルのリストを、簡単に辞書(dict)へ変換できます。本記事では、setdefault()メソッドやdict()コンストラクタを使った変換方法を、具体例とともにわかりやすく解説します。 変換のイメージ まずは、どのような変換が行われるのかを見てみましょう。タプルのリストの各要素の第1引数が辞書の「キー」に、第2引数が「値」に対応します。 入力: [(Adwaita, 5), (Aadrika, 5), (Babai, 37), (Mona, 7), (Sanj, 25), (Sakya, 30)] 出力: {Adwaita: 5, Aadr