2016-04-30 12 views
1

Ich versuche herauszufinden, wie man eine Liste von ganzen Zahlen durch die erste Ziffer in jedem int, (und wenn das gleiche, zur nächsten Ziffer, etc. gehen))Liste der ints nach der ersten Ziffer jedes int sortieren

Ich bin mir sicher, ich kann nur durchschleifen, (obwohl ich Probleme hatte, weil es scheint, dass ich meine Liste eine Liste von Strings machen muss, um die erste Ziffer zu greifen, und das hat einfach nicht für mich), aber ich würde gerne wissen, ob es einen Weg gibt, dies leicht mit der sorted() Methode zu tun.

EX:

myList = [34254, 2343, 49, 595, 323] 

Mein gewünschtes Ergebnis:

sortedList = [2343, 323, 34254, 49, 595] 

Antwort

9

Sortieren mit einem Schlüssel von Strings und Sie werden ASCIIbetical Sortierung erhalten.

>>> myList = [34254, 2343, 49, 595, 323] 
>>> sorted(myList, key=str) 
[2343, 323, 34254, 49, 595] 
+0

oder sortiert (mylist, cmp = Lambda x, y: str (x)> str (y))? –

+0

Danke TigerhawkT3 und @Jack Wu! Das sind beide Versionen von dem, was ich suche! – AmericanMade

Verwandte Themen