Führen Sie bei einer Wörterbuchliste eine Sortierung nach Wörterbuchgröße durch.

Eingabe : test_list = [{4: 6, 9: 1, 10: 2, 2: 8}, {4: 3, 9: 1}, {3: 9}, {1: 2, 9: 3, 7: 4}] 
Ausgabe : [{3: 9}, {4: 3, 9: 1}, {1: 2, 9: 3, 7: 4}, {4: 6, 9: 1, 10: 2, 2 : 8}] 
Erläuterung : 1 <2 <3 <4, sortiert nach Anzahl der Schlüssel des Wörterbuchs.

Eingabe : test_list = [{4: 3, 9: 1}, {3: 9}, {1: 2, 9: 3, 7: 4}] 
Ausgabe : [{3: 9}, {4: 3, 9 : 1}, {1: 2, 9: 3, 7: 4}] 
Erläuterung : 1 <2 <3, sortiert nach Anzahl der Schlüssel des Wörterbuchs. 

Methode 1: Verwenden von len() + sort()

In diesem Fall wird die Sortierung mit sort() durchgeführt und len() wird verwendet, um die Größe des Wörterbuchs zu ermitteln.



  
def get_len(sub): 
  
    
    return len(sub) 
  
  
test_list = [{4: 6, 9: 1, 10: 2, 2: 8}, { 
    4: 3, 9: 1}, {3: 9}, {1: 2, 9: 3, 7: 4}] 
  
print("The original list is : " + str(test_list)) 
  
test_list.sort(key=get_len) 
  
print("Sorted List : " + str(test_list)) 

Ausgabe:

Die ursprüngliche Liste lautet: [{4: 6, 9: 1, 10: 2, 2: 8}, {4: 3, 9: 1}, {3: 9}, {1: 2, 9: 3, 7 : 4}]
Sortierte Liste: [{3: 9}, {4: 3, 9: 1}, {1: 2, 9: 3, 7: 4}, {4: 6, 9: 1, 10: 2 , 2: 8}]

Methode 2: Verwenden von sortiert() + len() + Lambda

Hier führen wir die Sortieraufgabe mit sorted() durch , und die Lambda- Funktion wird anstelle der externen Funktion verwendet, um das Problem des Längenabrufs zu lösen.

  
test_list = [{4: 6, 9: 1, 10: 2, 2: 8}, { 
    4: 3, 9: 1}, {3: 9}, {1: 2, 9: 3, 7: 4}] 
  
print("The original list is : " + str(test_list)) 
  
res = sorted(test_list, key=lambda sub: len(sub)) 
  
print("Sorted List : " + str(res)) 

 Ausgabe:

Die ursprüngliche Liste lautet: [{4: 6, 9: 1, 10: 2, 2: 8}, {4: 3, 9: 1}, {3: 9}, {1: 2, 9: 3, 7 : 4}]
Sortierte Liste: [{3: 9}, {4: 3, 9: 1}, {1: 2, 9: 3, 7: 4}, {4: 6, 9: 1, 10: 2 , 2: 8}]