python version
Python 3.7.3 (default, Mar 28 2020, 17:59:31)
[Clang 9.1.0 (clang-902.0.39.1)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>>
Der Schlüssel befindet sich links und der Wert befindet sich rechts.
dict = {"key1" : value, "key2": value2 }
Betrachten Sie als Beispiel ein Wörterbuch mit einer Eins-zu-Eins-Entsprechung zwischen Ländernamen und Bevölkerung.
>>> population
{'India': 1380004385, 'China': 1439323776, 'Pakistan': 220892340, 'UnitedStates': 331002651, 'Indonesia': 273523615}
Wenn die Top-5-Länder mit der Bevölkerung angemessen angeordnet sind, muss nach Schlüssel oder Wert sortiert werden, z. B. "Ich möchte in alphabetischer Reihenfolge sortieren" und "Welches Land hat die Top-Bevölkerung?".
>>> population.items()
dict_items([('India', 1380004385), ('China', 1439323776), ('Pakistan', 220892340), ('UnitedStates', 331002651), ('Indonesia', 273523615)])
sorted Es gibt zwei Arten der Sortierung, ob nach Schlüssel oder Wert sortiert werden soll.
#Schlüssel alphabetisch sortieren
>>> sorted(population)
['China', 'India', 'Indonesia', 'Pakistan', 'UnitedStates']
#absteigende Reihenfolge
>>> sorted(population, reverse=True)
['UnitedStates', 'Pakistan', 'Indonesia', 'India', 'China']
#Sortieren Sie alphabetisch und geben Sie jede Liste zurück
>>> sorted(population.items())
[('China', 1439323776), ('India', 1380004385), ('Indonesia', 273523615), ('Pakistan', 220892340), ('UnitedStates', 331002651)]
#Nur nach Wert sortieren (bei Bestellung in absteigender Reihenfolge, später umgekehrt beschrieben=Option True verwenden)
>>> sorted(population.values())
[220892340, 273523615, 331002651, 1380004385, 1439323776]
#Sortieren Sie das Wörterbuch nach Schlüssel
>>> sorted(population.items(), key = lambda x : x[0])
[('China', 1439323776), ('India', 1380004385), ('Indonesia', 273523615), ('Pakistan', 220892340), ('UnitedStates', 331002651)]
#Sortieren nach Wert im Wörterbuch
>>> sorted(population.items(), key = lambda x : x[1])
[('Pakistan', 220892340), ('Indonesia', 273523615), ('UnitedStates', 331002651), ('India', 1380004385), ('China', 1439323776)]
Betrachten Sie als Nächstes einen Typ, bei dem der Wert des Wörterbuchs eine Liste ist (in diesem Beispiel ist die erste Komponente die Gesamtbevölkerung und die zweite Komponente die jährliche Änderungsrate).
>>> population
{'India': [1380004385, 0.99], 'China': [1439323776, 0.39], 'Pakistan': [220892340, 2.0], 'UnitedStates': [331002651, 0.59], 'Indonesia': [273523615, 1.07]}
#Nach Wörterbuchschlüssel sortieren
>>> sorted(population.items(), key = lambda x : x[0] )
[('China', [1439323776, 0.39]), ('India', [1380004385, 0.99]), ('Indonesia', [273523615, 1.07]), ('Pakistan', [220892340, 2.0]), ('UnitedStates', [331002651, 0.59])]
#Sortieren Sie nach der ersten Komponente des Wörterbuchwerts
>>> sorted(population.items(), key = lambda x: x[1][0], reverse=True )
[('China', [1439323776, 0.39]), ('India', [1380004385, 0.99]), ('UnitedStates', [331002651, 0.59]), ('Indonesia', [273523615, 1.07]), ('Pakistan', [220892340, 2.0])]
## -->Es ist ersichtlich, dass die Bevölkerung in der Größenordnung von China, Indien, den Vereinigten Staaten, Indonesien und Pakistan die größte ist.
#Sortieren nach Wörterbuchwert zweite Komponente
>>> sorted(population.items(), key = lambda x: x[1][1], reverse=True )
[('Pakistan', [220892340, 2.0]), ('Indonesia', [273523615, 1.07]), ('India', [1380004385, 0.99]), ('UnitedStates', [331002651, 0.59]), ('China', [1439323776, 0.39])]
## -->Es ist ersichtlich, dass die jährliche Wachstumsrate in der Größenordnung von Pakistan, Indonesien, Indien, den Vereinigten Staaten und China am höchsten ist.
Die Lambda-Ausdrücke "x [1] [0]" und "x [1] [1]" können etwas verwirrend sein.
>>> population.items()
dict_items([('India', [1380004385, 0.99]), ('China', [1439323776, 0.39]), ('Pakistan', [220892340, 2.0]), ('UnitedStates', [331002651, 0.59]), ('Indonesia', [273523615, 1.07])])
Wie Sie sehen können, heißt es, dass der Wert des von "x [1]" erstellten Wörterbuchs ausgedrückt wird und dann der 0. Wert des Werts von "x [1] [0]" verwendet wird. Es ist.
Recommended Posts