2012-03-28 7 views
-2

Mögliche Duplizieren:
how to sort by length of string followed by alphabetical order?eine Liste in der Reihenfolge des kürzesten Wortes längstes Wort ausgibt (Python)

Ich mag ein Programm erstellen, die das Wort in einer Liste in der Reihenfolge druckt von der kürzesten zur längsten Zeichenanzahl. Zum Beispiel:

["My", "turtle", "is", "old"] 

ausgeben würde:

"My" 
"is" 
"old" 
"turtle" 

Gibt es eine einfache Möglichkeit, dies zu tun? Ich habe bisher:

message = "My turtle is old" 
message = message.split(" ") 
+2

Wie ist das überhaupt repräsentativ für "in Reihenfolge der längsten bis kürzesten Zeichenanzahl"? – bernie

+1

möglich Duplikat von [wie nach String-Länge sortiert, gefolgt von alphabetischer Reihenfolge?] (Http://stackoverflow.com/questions/4659524/how-to-sort-by-length-of-string-followed-by-alphabetical) -order) und noch genauer [Sorting Python-Liste basierend auf der Länge des Strings] (http://stackoverflow.com/questions/2587402/sorting-python-list-based-on-the-length-of-the- String), die ich gefunden habe, indem ich "python sort by googlen" gegoogelt habe. – agf

+1

Wie kommt es, dass der Titel am kürzesten ist und die Frage vom längsten zum kürzesten geht? Entscheide dich: D – Dikei

Antwort

0

Sortieren Sie die Eingabe von Länge mit dem key Schlüsselwort für .sort():

l = ["My", "turtle", "is", "old"] 
l.sort(key=len) 

for i in l: 
    print i 
Verwandte Themen