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

Pythonで値によって辞書のリストを並べ替える方法


ここに1つの辞書があります。私たちのタスクは、それらの値でソートすることです。このディクショナリには2つの値があり、1つは名前で、もう1つはロールです。まず、ラムダ関数と組み込みのソートされた関数を使用して、ロールごとにソートされたリストを表示します。

2番目に名前とロールでソートされたリストを表示し、3番目に名前で並べ替えたリストを表示します。

サンプルコード

# Initializing list of dictionaries 
my_list1 = [{ "name" : "Adwaita", "roll" : 100},
{ "name" : "Aadrika", "roll" : 234 },
{ "name" : "Sakya" , "roll" : 23 }]
print ("The list is sorted by roll: ")
print (sorted(my_list1, key = lambda i: i['roll']) )
print ("\r")
print ("The list is sorted by name and roll: ")
print (sorted(my_list1, key = lambda i: (i['roll'], i['name'])) )
print ("\r")
print ("The list is sorted by roll in descending order: ")
print (sorted(my_list1, key = lambda i: i['roll'],reverse=True) )

出力

The list is sorted by roll: 
[{'name': 'Sakya', 'roll': 23}, {'name': 'Adwaita', 'roll': 100}, {'name': 'Aadrika', 'roll': 234}]
The list is sorted by name and roll: 
[{'name': 'Sakya', 'roll': 23}, {'name': 'Adwaita', 'roll': 100}, {'name': 'Aadrika', 'roll': 234}]
The list is sorted by roll in descending order: 
[{'name': 'Aadrika', 'roll': 234}, {'name': 'Adwaita', 'roll': 100}, {'name': 'Sakya', 'roll': 23}]

  1. 辞書にマージするPythonプログラム。

    このプログラムでは、2つの辞書が提供されます。私たちの仕事は、この2つのリストをマージすることです。ここでは、update()メソッドを使用します。 Updateメソッドは、2つのリストをマージするために使用できます。ここで、2番目のリストが最初のリストにマージされます。 noneを返します。これは、新しいリストが作成されないことを意味します。 例 Input:: A= [AAA,10] B= [BBB,20] Output:: C= {BBB: 20, AAA: 10} アルゴリズム Step 1: First create two User input dictionary. Ste

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

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