Pythonのリストコンテンツを使用した辞書の作成
コレクションタイプをあるタイプから別のタイプに変更することは、Pythonで非常に頻繁に必要になります。この記事では、複数のリストが指定されている場合に辞書を作成する方法を説明します。課題は、これらすべてのリストを組み合わせて、辞書キー値形式でこれらすべての値を収容する1つの辞書を作成できるようにすることです。
zip付き
zip関数を使用して、以下に示すように、さまざまなリストの値を組み合わせることができます。以下の例では、3つのリストを入力として受け取り、それらを組み合わせて1つの辞書を形成しています。リストの1つは辞書のキーを提供し、他の2つのリストは各キーのファイルされた値を保持します。
例
key_list = [1, 2,3] day_list = ['Friday', 'Saturday','Sunday'] fruit_list = ['Apple','Banana','Grape'] # Given Lists print("Given key list : " + str(key_list)) print("Given day list : " + str(day_list)) print("Given fruit list : " + str(fruit_list)) # Dictionary creation res = {key: {'Day': day, 'Fruit': fruit} for key, day, fruit in zip(key_list, day_list, fruit_list)} # Result print("The final dictionary : \n" ,res)
出力
上記のコードを実行すると、次の結果が得られます-
Given key list : [1, 2, 3] Given day list : ['Friday', 'Saturday', 'Sunday'] Given fruit list : ['Apple', 'Banana', 'Grape'] The final dictionary : {1: {'Day': 'Friday', 'Fruit': 'Apple'}, 2: {'Day': 'Saturday', 'Fruit': 'Banana'}, 3: {'Day': 'Sunday', 'Fruit': 'Grape'}}
列挙あり
enumerate関数は、enumerateオブジェクトのキーとしてカウンターを追加します。したがって、この場合、key_listをパラメーターとして
に提供します。例
key_list = [1, 2,3] day_list = ['Friday', 'Saturday','Sunday'] fruit_list = ['Apple','Banana','Grape'] # Given Lists print("Given key list : " + str(key_list)) print("Given day list : " + str(day_list)) print("Given fruit list : " + str(fruit_list)) # Dictionary creation res = {val : {"Day": day_list[key], "age": fruit_list[key]} for key, val in enumerate(key_list)} # Result print("The final dictionary : \n" ,res)
出力
上記のコードを実行すると、次の結果が得られます-
Given key list : [1, 2, 3] Given day list : ['Friday', 'Saturday', 'Sunday'] Given fruit list : ['Apple', 'Banana', 'Grape'] The final dictionary : {1: {'Day': 'Friday', 'age': 'Apple'}, 2: {'Day': 'Saturday', 'age': 'Banana'}, 3: {'Day': 'Sunday', 'age': 'Grape'}}
-
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 =
-
Pythonのリストvsタプルvs辞書
リストオブジェクトとタプルオブジェクトはシーケンスです。ディクショナリは、キーと値のペアのハッシュテーブルです。リストとタプルは、アイテムの順序付けられたコレクションです。辞書は順序付けられていないコレクションです。 リストオブジェクトと辞書オブジェクトは変更可能です。つまり、新しいアイテムを追加したり、アイテムを削除したりすることができます。タプルは不変のオブジェクトです。タプルオブジェクトでは、追加または削除操作はできません。 それぞれがカンマ区切りのアイテムのコレクションです。リストアイテムは角かっこ[]で囲まれ、タプルアイテムは丸かっこまたはかっこ()で囲まれ、辞書アイテムは中かっこ