So sortieren Sie die Python-Liste, die die Float-Werte enthält.
list1 = [1, 1.10, 1.11, 1.1, 1.2]
oder
list1 = ['1', '1.10', '1.11', '1.1', '1.2']
Die erwarteten Ergebnisse sind
list_val = ['1', **'1.1', '1.2'**, '1.10', '1.11']
das zurückgegebene Ergebnis in using (sort ()) -Methode wird jedoch zurückgegeben
[1, 1.1000000000000001, 1.1000000000000001, 1.1100000000000001, 1.2]
oder
['1', '1.1', '1.10', '1.11', '1.2'].
Hier sollte 1.2
zwischen 1.1
und 1.10
liegen.
Sie können verwenden:
list1 = sorted(list1)
Wenn es sich im zweiten Format (als Zeichenfolge) befindet, können Sie den Schlüsselparameter verwenden, um es in Floats zu konvertieren, indem Sie Folgendes verwenden:
list1 = sorted(list1, key=float)
Der Schlüsselparameter erwartet eine Funktion, die die Werte vor der Sortierung mit den umgesetzten Werten umwandelt, wobei die ursprünglichen Werte erhalten bleiben
Sie können jede Liste auf zwei Arten sortieren.
Verwenden dersorted -Methode :: In dieser Methode gibt die sortierte Methode eine sortierte Liste zurück, die tatsächliche Liste bleibt jedoch gleich
x=[1,2,3.1,4.5,2.3]
y = sorted(x)
y = sorted(x,key=float) #in case if the values were there as string.
In diesem Fall bleibt x noch als [1,2,3.1,4.5,2.3], wohingegen als sortierte Liste d. H. [1,2,2.3,3.1,4.5] zurückgegeben wird und in diesem Fall y zugewiesen wird.
Mit dem sort - Methodenaufruf, der für die Listen :: zur Verfügung gestellt wird, sortiert der Methodenaufruf die aktuelle Liste
x=[1,2,3.1,4.5,2.3]
x.sort()
In diesem Fall wird x sortiert. Wenn Sie also versuchen, x zu drucken, ist es wie [1,2,2.3,3.1,4.5].
Sie können jede dieser Methoden entsprechend Ihrer Anforderung verwenden.
Ich hoffe es hilft. Viel Spaß beim Codieren :)
Verwenden Sie einfach sorted
:
sorted(list1, key=float)
Dadurch wird das Element vor dem Vergleich in float
konvertiert. Es funktioniert also sowohl für eine Liste von Strings als auch für eine Liste von Floats (oder für Ints, was es wert ist).