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

Pythonの値を使用して辞書のリストを並べ替える方法


この記事では、 Pythonの値を使用して辞書のリストを並べ替える方法を学習します。 。組み込みのメソッド呼び出しを並べ替えで使用します 辞書を並べ替えます。

辞書を並べ替える手順

以下の手順に従って、値を使用して辞書を並べ替えます。

  • 辞書とキーを含むリストを並べ替えに渡します メソッド。
    • 2つの異なる方法でキーを渡すことができます
      • 1.ラムダの使用 機能
      • 2. itemgetterの使用 メソッド

例を見てみましょう。

1。ラムダ関数の使用

## list of dictionaries
dicts = [
   {"name" : "John", "salary" : 10000},
   {"name" : "Emma", "salary" : 30000},
   {"name" : "Harry", "salary" : 15000},
   {"name" : "Aslan", "salary" : 10000}
]

## sorting the above list using 'lambda' function
## we can reverse the order by passing 'reverse' as 'True' to 'sorted' method
print(sorted(dicts, key = lambda item: item['salary']))

上記のプログラムを実行すると、次の結果が得られます。

[{'name': 'John', 'salary': 10000}, {'name': 'Aslan', 'salary': 10000}, {'name': 'Harry', 'salary': 15000}, {'name': 'Emma', 'salary': 30000}]

2。 itemgetterメソッドの使用

itemgetterを使用した辞書のソートリストの処理 上記のプロセスと同様です。 itemgetterを使用して値をキーに渡します 方法、それが唯一の違いです。見てみましょう。

## importing itemgetter from the operator
from operator import itemgetter
## list of dictionaries
dicts = [
   {"name" : "John", "salary" : 10000},
   {"name" : "Emma", "salary" : 30000},
   {"name" : "Harry", "salary" : 15000},
   {"name" : "Aslan", "salary" : 10000}
]

## sorting the above list using 'lambda' function
## we can reverse the order by passing 'reverse' as 'True' to 'sorted' method
print(sorted(dicts, key = itemgetter('salary')))

出力

上記のプログラムを実行すると、次の結果が得られます。

[{'name': 'John', 'salary': 10000}, {'name': 'Aslan', 'salary': 10000}, {'name': 'Harry', 'salary': 15000}, {'name': 'Emma', 'salary': 30000}]

  1. Pythonで辞書の値で辞書のリストを並べ替えるにはどうすればよいですか?

    Pythonには、反復可能オブジェクトの要素を特定の順序で並べ替える組み込み関数sorted()があります。 sorted(iterable[, key][, reverse] 2番目のパラメーターは、戻り値がソートのキーとして使用される関数です。 3番目のパラメータはデフォルトでfalseです。trueの場合、ソートされたリストは降順で表示されます。 辞書キーの値をソートされた関数のキーとして定義するラムダ関数を使用します。次の例では、キーに関連付けられた値の昇順に従って辞書のリストを並べ替えます。 >>> dictlist=[{'name':'

  2. Pythonのループを使用して、リスト内の変数に値を割り当てるにはどうすればよいですか?

    Pythonの組み込みリストクラスにはappend()メソッドがあります。ユーザー入力を取得し、ユーザーがEnterキーを押すまでリストに追加できます。無限のwhileループには、input()関数とappend()メソッドが含まれています L=[] while True:   item=input("enter new item")   if item=='':     break   L.append(item) print ("List : ",L)