Pythonで辞書をタプルのリストに変換する
あるコレクションタイプから別のコレクションタイプへの変換は、Pythonでは非常に一般的です。データ処理のニーズによっては、ディクショナリに存在するキーと値のペアを、リスト内のタプルを表すペアに変換する必要がある場合があります。この記事では、これを実現するためのアプローチについて説明します。
内で
これは単純なアプローチであり、
を検討するだけです。例
Adict = {30:'Mon',11:'Tue',19:'Fri'} # Given dictionary print("The given dictionary: ",Adict) # Using in Alist = [(key, val) for key, val in Adict.items()] # Result print("The list of tuples: ",Alist)
出力
上記のコードを実行すると、次の結果が得られます-
The given dictionary: {30: 'Mon', 11: 'Tue', 19: 'Fri'} The list of tuples: [(30, 'Mon'), (11, 'Tue'), (19, 'Fri')]
zip付き
zip関数は、パラメーターとして渡されたアイテムを結合します。そのため、辞書のキーと値をzip関数のパラメーターとして受け取り、結果をリスト関数の下に置きます。キーと値のペアがリストのタプルになります。
例
Adict = {30:'Mon',11:'Tue',19:'Fri'} # Given dictionary print("The given dictionary: ",Adict) # Using zip Alist = list(zip(Adict.keys(), Adict.values())) # Result print("The list of tuples: ",Alist)
出力
上記のコードを実行すると、次の結果が得られます-
The given dictionary: {30: 'Mon', 11: 'Tue', 19: 'Fri'} The list of tuples: [(30, 'Mon'), (11, 'Tue'), (19, 'Fri')]
追加あり
このアプローチでは、空のリストを取得し、キー値のevryペアをタプルとして追加します。 forループは、キーと値のペアをタプルに変換するように設計されています。
例
Adict = {30:'Mon',11:'Tue',19:'Fri'} # Given dictionary print("The given dictionary: ",Adict) Alist = [] # Uisng append for x in Adict: k = (x, Adict[x]) Alist.append(k) # Result print("The list of tuples: ",Alist)
出力
上記のコードを実行すると、次の結果が得られます-
The given dictionary: {30: 'Mon', 11: 'Tue', 19: 'Fri'} The list of tuples: [(30, 'Mon'), (11, 'Tue'), (19, 'Fri')]
-
タプルのリストを辞書に変換するPythonプログラム
ここで1つのタプルが与えられます。私たちのタスクは、タプルを辞書に変換することです。この問題を解決するために、辞書メソッドsetdefault()を使用します。このメソッドには2つのパラメーターがあり、最初のパラメーターをキーに変換し、2番目のパラメーターを辞書の値に変換します。 Setdefault(key、value)は、キーを検索してその値を表示する関数です。 例 Input: [(Adwaita, 5), (Aadrika, 5), (Babai, 37), (Mona, 7), (Sanj, 25), (Sakya, 30)] Output: {Adwaita: 5
-
Python辞書をリストに変換する方法は?
Pythonの辞書クラスには、この目的のために3つのメソッドがあります。メソッドitems()、keys()、values()は、それぞれキーと値のペアのタプル、キーのみ、値のみで構成されるビューオブジェクトを返します。組み込みのlistメソッドは、これらのビューオブジェクトをリストオブジェクトに変換します。 >>> d1 = {name: Ravi, age: 23, marks: 56} >>> d1.items() dict_items([(name, Ravi), (age, 23), (marks, 56)]) >>> l1 =