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

【Python入門】リストをリストのリストに変換するプログラムの書き方

Pythonでは、カンマ区切りの文字列を含むリストを、各要素が独立したサブリストとなった「リストのリスト」(二次元リスト)へ変換したい場面があります。このような変換を実現するには、シンプルな反復処理と、splitメソッド、appendメソッドを組み合わせた関数を定義するのが基本的なアプローチです。

サンプルコード

以下は、実際にリストをリストのリストへ変換するプログラムの例です。

def convert_my_list(my_list):
   my_result = []
   for el in my_list:
      sub = el.split(', ')
      my_result.append(sub)

   return(my_result)

my_list = ['peter', 'king', 'charlie']
print("The list is :")
print(my_list)

print("The resultant list is :")
print(convert_my_list(my_list))

実行結果

The list is :
['peter', 'king', 'charlie']
The resultant list is :
[['peter'], ['king'], ['charlie']]

コードの解説

  • convert_my_listという名前の関数を定義します。

  • この関数は、変換対象のリストを引数として受け取ります。

  • 関数内では、結果を格納するための空のリストmy_resultを用意します。

  • forループで元のリストを反復処理し、各要素をsplitメソッドでカンマを基準に分割します。

  • 分割して得られたサブリストを、appendメソッドで空のリストへ追加していきます。

  • 関数の外側で元となるリストを定義し、コンソールに表示します。

  • このリストを引数として関数を呼び出し、変換後の結果を取得します。

  • 最終的な結果がコンソールに出力されます。

リスト内包表記による別解

同様の処理は、リスト内包表記を使うことでより簡潔に記述することもできます。

def convert_my_list(my_list):
   return [el.split(', ') for el in my_list]

このように書くことで、コードが短くなり可読性も向上します。状況に応じて、forループを使った書き方と使い分けるとよいでしょう。

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

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

  2. Pythonで文字のリストを文字列に変換する方法を解説

    Pythonでは、リスト内の個々の要素をひとつの文字列にまとめたい場面がよくあります。たとえば、データを保存したり送信したりする際に必要となるシリアライズ(直列化)の処理では、このような変換が非常に役立ちます。具体的には、次のような変換を指します。[h, e, l, l, o, , w, o, r, l, d] → hello worldjoinメソッドを使った変換Pythonには、このような変換を実現するためのjoin()メソッドが標準で用意されています。joinメソッドは、区切り文字(デリミタ)として使う文字列に対して呼び出し、引数に渡したリストの各要素を連結します。今回は各文字をつなげ