この記事では、Pythonで辞書を文字列に変換するためのさまざまな方法について説明します。
Pythonの辞書って何?
辞書とは、Pythonのオブジェクトで、キー:値という形式でデータを格納するために使用されます。
キーとそれに対応する値は、コロン(:)で区切られます。
また、辞書内の各キー:値のペアはカンマ(,)で区切られます。
Pythonの辞書は、常に中括弧{}で囲まれます。
Pythonの辞書は、Pythonのリストやタプルとは異なり、順不同のデータ構造です。
Python辞書のどの値にも、対応するキーを使うだけで直接アクセスすることができます。
それでは、Pythonのコードでどのように辞書を作成するか見てみましょう。
# Create a Python dictionary dc = { 'py' : "PYTHON" , 'cpp' : "C++" , 'mat' : "MATLAB" }
print ( type (dc))
print (dc)
|
結果は以下の通りです。
<class 'dict'> {'py': 'PYTHON', 'cpp': 'C++', 'mat': 'MATLAB'} |
Pythonの文字列とは?
文字列はPythonのオブジェクトでもあり、最もよく使われるデータ構造で、文字の列を格納するのに使われます。
シングルクォート、ダブルクォート、トリプルクォートで囲まれたものはすべて、Pythonの文字列となります。
Pythonでは、シングルクォートとダブルクォートは1行の文字列を表すのに互換性があり、トリプルクォートは複数行の文字列を格納するのに使用されます。
Pythonのコードで1つの文字列を作ってみましょう。
# Create a Python dictionary sr = "py: PYTHON cpp: C++ mat: MATLAB"
print ( type (sr))
print (sr)
|
出力してみましょう。
<class 'str'> py: PYTHON cpp: C++ mat: MATLAB |
Pythonで辞書を文字列に変換するさまざまな方法
Pythonでは、辞書を文字列に変換する方法が複数存在します。
ここでは、最もよく使われる方法/やり方について説明します。
1. str()関数の使用
辞書を文字列に変換するこの方法では、単に辞書オブジェクトを str()
関数に渡します。
# Create a Python dictionary dc = { 'A' : 'Android' , 'B' : 'Bootstrap' , 'C' : 'C Programming' , 'D' : 'Dart' }
print ( type (dc))
print (f "Given dictionary: {dc}" )
# Convert the dictionary to a string # using str() function sr = str (dc)
print ( type (sr))
print (f "Converted string: {sr}" )
|
結果を出力すると、以下の様になります。
<class 'dict'> Given dictionary: {'A': 'Android', 'B': 'Bootstrap', 'C': 'C Programming', 'D': 'Dart'} <class 'str'> Converted string: {'A': 'Android', 'B': 'Bootstrap', 'C': 'C Programming', 'D': 'Dart'} |
この記事もチェック:Pythonのstrptimeを使って文字列を日付時刻に変換する方法
2. json.dumps()関数の使用
この方法では、辞書を文字列に変換するために、辞書オブジェクトを json.dumps()
関数に渡します。
json.dumps()`関数を使用するには、PythonのビルトインパッケージであるJSONモジュールをインポートする必要があります。
# Import Python json module import json
# Create a Python dictionary dict = { 'A' : 1 , 'B' : 2 , 'C' : 3 , 'D' : 4 , 'E' : 5 }
print ( type ( dict ))
print (f "Given dictionary: {dict}" )
# Convert the dictionary to a string # using json.dumps() function str = json.dumps( dict )
print ( type ( str ))
print (f "Converted string: {str}" )
|
結果は以下の通りです。
<class 'dict'> Given dictionary: {'A': 1, 'B': 2, 'C': 3, 'D': 4, 'E': 5} <class 'str'> Converted string: {"A": 1, "B": 2, "C": 3, "D": 4, "E": 5} |
この記事もチェック:PythonでリストをJSON文字列に変換する方法
3. 空文字列とforループの使用
辞書を文字列に変換するこの方法では、単純に for
ループを使って辞書オブジェクトを繰り返し、辞書のキーにアクセスすることになります。
そして、各キーに対応する値にアクセスし、キーと値のペアを空の文字列に追加します。
# Create a Python dictionary dict = { 'D' : "Debian" , 'U' : "Ubuntu" , 'C' : "CentOS" }
print ( type ( dict ))
print (f "Given dictionary- {dict}" )
# Create an empty string str = ""
# Convert the dictionary to a string # using for loop only for item in dict :
str + = item + ':' + dict [item] + ' '
print ( type ( str ))
print (f "Converted string- {str}" )
|
結果を出力すると、以下の様になります。
<class 'dict'> Given dictionary- {'D': 'Debian', 'U': 'Ubuntu', 'C': 'CentOS'} <class 'str'> Converted string- D:Debian U:Ubuntu C:CentOS |
4. 空文字列、forループ、items()関数の利用
辞書を文字列に変換するこの方法では、まず、for
ループと items()
関数を使って辞書オブジェクトを繰り返し処理することで、キーと値のペアにアクセスします。
そして、各キーと値のペアを空の文字列に追加します。
# Create a Python dictionary dict = { 'Google' : "GCP" , 'Microsoft' : "Azure" , 'Amazon' : "AWS" }
print ( type ( dict ))
print (f "Given dictionary- {dict}" )
# Create an empty string str = ""
# Convert the dictionary to a string # using for loop and items() function for key, value in dict .items():
str + = key + ':' + value + ' '
print ( type ( str ))
print (f "Converted string- {str}" )
|
結果は以下の通りです。
<class 'dict'> Given dictionary- {'Google': 'GCP', 'Microsoft': 'Azure', 'Amazon': 'AWS'} <class 'str'> Converted string- Google:GCP Microsoft:Azure Amazon:AWS |
この記事もチェック:Pythonの文字列フォーマット|f文字列やformat関数等での使い方
5. forループ、items()、str.join()関数の使用法
この方法では、辞書を文字列に変換するために、for
ループを使用して辞書オブジェクトを繰り返し、キーと値を追加していきます。
次に、str.join()
関数を使って、キーと値のペアを1つの文字列として結合しています。
# Create a Python dictionary dict = { 'Google' : " Chrome" , 'Microsoft' : " Edge" , 'Apple' : " Safari" }
print ( type ( dict ))
print (f "Given dictionary: {dict}" )
# Convert the dictionary to a string # using str.join() and items() function str = ', ' .join(key + value for key, value in dict .items())
print ( type ( str ))
print (f "Converted string: {str}" )
|
結果は以下の通りです。
<class 'dict'> Given dictionary: {'Google': '-Chrome', 'Microsoft': '-Edge', 'Apple': '-Safari'} <class 'str'> Converted string: Google-Chrome, Microsoft-Edge, Apple-Safari |
Pythonでは、キーと値のペアを1つの文字列に変換するのではなく、辞書オブジェクトのキーと値を2つの別々の文字列に変換することもできます。
一つずつ説明していきましょう。
辞書のキーを文字列に変換する
まず、辞書オブジェクトのキーを文字列に変換するさまざまな方法について説明します。
1. 空文字列とforループの使用
# Create a Python dictionary dict = { 'OS' : "Operating System" , 'DBMS' : "Database Management System" , 'CN' : "Computer Network" }
print ( type ( dict ))
print (f "Given dictionary- {dict}" )
# Create an empty string str = ""
# Convert the dictionary keys into a string # using for loop only for item in dict :
str + = item + " "
print ( type ( str ))
print (f "Keys in string- {str}" )
|
結果を出力すると、以下の様になります。
<class 'dict'> Given dictionary- {'OS': 'Operating System', 'DBMS': 'Database Management System', 'CN': 'Computer Network'} <class 'str'> Keys in string- OS DBMS CN |
この記事もチェック:Pythonのリストをjoinやmap、forループを使って文字列に変換する方法
2. forループとstr.join()関数の使用法
# Create a Python dictionary dict = { 'gcc' : "C program" , 'g++' : "C++ program" , 'py' : "Python Program" }
print ( type ( dict ))
print (f "Given dictionary: {dict}" )
# Convert the dictionary keys into a string # using str.join() str = ', ' .join(key for key in dict )
print ( type ( str ))
print (f "Keys in string: {str}" )
|
結果を出力すると、以下の様になります。
<class 'dict'> Given dictionary: {'gcc': 'C program', 'g++': 'C++ program', 'py': 'Python Program'} <class 'str'> Keys in string: gcc, g++, py |
辞書の値を文字列に変換する
では、辞書オブジェクトの値を文字列に変換するさまざまな方法について説明します。
1. 空文字列とforループの使用
# Create a Python dictionary dict = { 'OS' : "Operating_System" , 'DBMS' : "Database_Management_System" , 'CN' : "Computer_Network" }
print ( type ( dict ))
print (f "Given dictionary- {dict}" )
# Create an empty string str = ""
# Convert the dictionary values into a string # using for loop only for item in dict :
str + = dict [item] + " "
print ( type ( str ))
print (f "Values in string- {str}" )
|
結果を出力すると、以下の様になります。
<class 'dict'> Given dictionary- {'OS': 'Operating_System', 'DBMS': 'Database_Management_System', 'CN': 'Computer_Network'} <class 'str'> Values in string- Operating_System Database_Management_System Computer_Network |
2. forループとstr.join()関数の使用法
# Create a Python dictionary dict = { 'gcc' : "C program" , 'g++' : "C++ program" , 'py' : "Python Program" }
print ( type ( dict ))
print (f "Given dictionary: {dict}" )
# Convert the dictionary values into a string # using str.join() str = ', ' .join( dict [item] for item in dict )
print ( type ( str ))
print (f "Values in string: {str}" )
|
結果を出力すると、以下の様になります。
<class 'dict'> Given dictionary: {'gcc': 'C program', 'g++': 'C++ program', 'py': 'Python Program'} <class 'str'> Values in string: C program, C++ program, Python Program |
まとめ
この記事では、Pythonで辞書を文字列に変換するさまざまな方法について学びました。
そして、辞書オブジェクトのキーと値を2つの別々の文字列に変換する方法についても学びました。
上記で説明したことを理解し、自分自身でこれらを試してくれることを願っています。