Pythonで辞書をリストに変換する方法|zipやmap.forループを使った方法などを解説

スポンサーリンク

この記事では、Pythonの辞書をPythonのリストに変換する上位5つの方法について説明します。

スポンサーリンク

辞書をリストに変換する5つのメソッド

それでは、Pythonで辞書をリストに変換する方法を学んでいきましょう。

次のいくつかのセクションでは、Pythonでデータ型を辞書からリストに変更するために使用されるさまざまなメソッドや関数を見ていきます。

方法1:dict.items()関数を使用する

このメソッドでは、辞書をリストに変換するために、辞書クラスのdict.items()関数を使用します。

dict.items()関数は、Python辞書のキーと値のペアを繰り返し処理するために使用されます。

デフォルトでは、キーと値のペアはPythonのタプルの形でdict.items()関数が返すイテレータに格納されます。

このイテレータをlist()` 関数に渡すと、最終的に与えられた Python 辞書のキーと値のペアを含むタプルの Python リストが得られます。

それでは、このメソッドを実装するための実際のPythonコードを見てみましょう。

# Method- 1
 
# Create a Python dictionary
dr = {'Python': 'Python', 'LinuxForDevices': 'Linux', 'QuickExcel': 'Excel'}
print('Given Python dictionary:
'
)
print(dr)
 
# Convert the above Python dictionary to a Python list
# Using the dict.items() function
ls = list(dr.items())
print('
This is the converted list:
'
)
print(ls)

結果は以下の通りです。

Given Python dictionary:
 
{'Python': 'Python', 'LinuxForDevices': 'Linux', 'QuickExcel': 'Excel'}
 
This is the converted list:
 
[('Python', 'Python'), ('LinuxForDevices', 'Linux'), ('QuickExcel', 'Excel')]

方法2:zip()関数を使用する

この方法では、Pythonのzip()関数を使って、辞書をリストに変換します。

Pythonのzip()`関数は、2つのイテレータオブジェクトの値をzipで結合するために使用されます。

1つは与えられたPython辞書のすべてのキーのリストで、もう1つは与えられたPython辞書のすべての値のリストになります。

Python辞書クラスの dict.keys()dict.values() 関数を用いて、この2つのリストを取得します。

デフォルトでは、キーと値のペアは zip() 関数が返すイテレータに Python のタプルの形で格納されます。

このイテレータを list() 関数に渡すと、最終的に与えられた Python 辞書のすべての key: value のペアを含むタプルの Python リストが返されます。

それでは、このメソッドをPythonのコードで実装する方法を見てみましょう。

# Method- 2
 
# Create a Python dictionary
dr = {'Python': '.py', 'C++': '.cpp', 'Csharp': '.cs'}
print('Given Python dictionary:
'
)
print(dr)
 
# Convert the above Python dictionary to a Python list
# Using the zip() function
iter = zip(dr.keys(), dr.values())
ls = list(iter)
print('
This is the Converted list:
'
)
print(ls)

結果は以下の通りです。

Given Python dictionary:
 
{'Python': '.py', 'C++': '.cpp', 'Csharp': '.cs'}
 
This is the Converted list:
 
[('Python', '.py'), ('C++', '.cpp'), ('Csharp', '.cs')]

方法3:map()関数を使用する

この方法では、Pythonのmap()関数を使用して、Pythonで辞書をリストに変換することにします。

Pythonの map() 関数は、Pythonの任意の関数をイテレータオブジェクトにマッピングするために使用されます。

ここでは、第一引数に Python の list() 関数を渡し、第二引数に dict.item() 関数が返すイテレータオブジェクトを渡します。

そして、map()関数が返すイテレータを list() 関数に渡すと、与えられた Python 辞書のすべてのキーと値のペアを含むリストの Python リストが返されます。

このメソッドを実装するためのPythonのコードを書いてみましょう。

# Method- 3
 
# Create a Python dictionary
dr = {'Amazon': 'AWS', 'Microsoft': 'AZURE', 'Google': 'GCP'}
print('Given Python dictionary:
'
)
print(dr)
 
# Convert the above Python dictionary to a Python list
# Using the map() function
iter = map(list, dr.items())
ls = list(iter)
print('
This is the Converted list:
'
)
print(ls)

結果は以下の通りです。

Given Python dictionary:
 
{'Amazon': 'AWS', 'Microsoft': 'AZURE', 'Google': 'GCP'}
 
This is the Converted list:
 
[['Amazon', 'AWS'], ['Microsoft', 'AZURE'], ['Google', 'GCP']]

方法4:単純なforループの繰り返しを使用する

この方法では、単純なforループを使用して、辞書をリストに変換します。

まず空のリストを作成し、与えられたPython辞書のキーに対してforループを使用して繰り返し処理を行います。

最後に、与えられたPython辞書のキーと値のペアごとに1つのPythonタプルを作成し、それを繰り返しながら、このタプルを作成した空のリストに追加します。

このメソッドをPythonコードで実装してみましょう。

# Method- 4
 
# Create a Python dictionary
dr = {'Sanjay': 'ECE', 'Abhishek': 'EE', 'Sarthak': 'ICE'}
print('Given Python dictionary:
'
)
print(dr)
 
# Create an empty Python list
ls = []
 
# Convert the above Python dictionary to a Python list
# Using the for loop iteration
for key in dr:
    item = (key, dr[key])
    ls.append(item)
print('
This is the Converted list:
'
)
print(ls)

結果は以下の通りです。

Given Python dictionary:
 
{'Sanjay': 'ECE', 'Abhishek': 'EE', 'Sarthak': 'ICE'}
 
This is the Converted list:
 
[('Sanjay', 'ECE'), ('Abhishek', 'EE'), ('Sarthak', 'ICE')]

方法5:リスト内包を使用する

リスト内包法は、Pythonのリストを初期化する方法として最も広く使われているコンパクトな方法です。

また、forループを使って同じ1行でリストの要素を提供することもできます。

ここでは、forループと dict.items() 関数を使用して、与えられたPython辞書のキーと値のペアを取得します。

そして、取得したPython辞書のkey: valueのペアでPythonリストを初期化します。

このメソッドを使って、与えられたPython辞書をPythonのリストに変換する方法を見てみましょう。

# Method- 4
 
# Create a Python dictionary
dr = {'A': 65, 'B': 66, 'C': 67, 'D': 68}
print('Given Python dictionary:
'
)
print(dr)
 
# Convert the above Python dictionary to a Python list
# Using the list comprehension
ls = [(key, value) for key, value in dr.items()]
print('
This is the Converted list:
'
)
print(ls)

結果は以下の通りです。

Given Python dictionary:
 
{'A': 65, 'B': 66, 'C': 67, 'D': 68}
 
This is the Converted list:
 
[('A', 65), ('B', 66), ('C', 67), ('D', 68)]

まとめ

この記事では、Pythonで辞書をリストに変換する上位5つの方法について学びました。

これらの方法を理解し、実験する準備ができていることを願っています。

この記事を読んでいただき、ありがとうございます!Pythonプログラミングのためのこのようなエキサイティングな学習コンテンツをもっと見るために私たちと一緒にいてください。

タイトルとURLをコピーしました