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

Pythonの値としてインデックスを持つ辞書


この記事では、頻繁に使用される別のPythonコレクションであるlistから辞書を作成する方法を学習します。インデックスまたはキーはリストコンテンツの一部ではありません。ただし、辞書では、値と呼ばれるすべての要素にキーまたはインデックスを付加する必要があります。

列挙の使用

enumerate関数は、enumerateオブジェクトのキーとしてカウンターを追加します。したがって、これを特定のリストに適用し、forループを使用します。これにより、列挙関数によってキーが生成される必要な辞書が作成されます。

Alist = ['Mon', 'Tue', 'Wed', 'Wed',11,11]

# Given list
print("Given list : " , Alist)

# Converting to DIctionary
NewDict = {val: key + 1 for key, val in enumerate(Alist)}

# print result
print("Dictionary created with index : ",NewDict)

出力

上記のコードを実行すると、次の結果が得られます-

Given list : ['Mon', 'Tue', 'Wed', 'Wed', 11, 11]
Dictionary created with index : {'Mon': 1, 'Tue': 2, 'Wed': 4, 11: 6}

重複する要素がある場合は、重複する要素の中でより高いインデックス値を持つ要素のみが表示されることに注意してください。

zipと範囲の使用

もう1つのアプローチは、範囲関数を適用して、1から始まり、提供されたリストの長さまでのキーを作成することです。最後に、dict関数を適用して辞書を作成します。

Alist = ['Mon', 'Tue', 'Wed', 'Wed',11,11]

# Given list
print("Given list : " , Alist)

# Converting to DIctionary
NewDict = dict(zip(Alist, range(1, len(Alist)+1)))

# print result
print("Dictionary created with index : ",NewDict)

出力

上記のコードを実行すると、次の結果が得られます-

Given list : ['Mon', 'Tue', 'Wed', 'Wed', 11, 11]
Dictionary created with index : {'Mon': 1, 'Tue': 2, 'Wed': 4, 11: 6}

  1. Pythonのインデックスに基づくマルチリストでリスト要素を追加する

    リストはネストできます。つまり、大きなリスト内の要素として小さなリストがあります。この記事では、単純なリストの要素をネストされたリストの要素に追加するという課題を解決します。リストの長さが異なる場合、小さい方のリストの長さが結果のリストの最大長になります。 これを実現するためのさまざまな方法を以下に示します。 forループの使用 この方法では、小さい方のリストの長さを取得し、このリストの要素をループして、大きい方のリストの要素に追加します。ここでは、append関数を使用して、各要素を結果リストに追加します。 例 simple_list = [25, 35, 45, 55, 65] nes

  2. Pythonでリスト内包表記の辞書を作成するにはどうすればよいですか?

    組み込み関数であるzip()関数は、2つのリストの同じインデックスにある要素を含むタプルのリストを提供します。 2つのリストがそれぞれキーと値である場合、このzipオブジェクトを使用して、別の組み込み関数dict()を使用して辞書オブジェクトを作成できます。 >>> L1=['a','b','c','d'] >>> L2=[1,2,3,4] >>> d1=dict(zip(L1,L2)) >>> d1 {'a': 1, 'b':