2012-07-12 16 views
10
x = 'yellow' 
print(sorted(x)) 

kehrtSortieren der Buchstaben einer ein Wort string in Python?

['e', 'l', 'l', 'o', 'w', 'y'] 

Was ich will es

lief zurück

ellowy

Wie ich es 'ellowy' in einer Liste zu sein, ohne die Buchstaben machen zurückkehren?

+0

Danke jeder für sehr schnelle Antworten. Sehr hilfreich. –

+3

Obwohl stackoverflow eine große Ressource ist, bitte beachten Sie, dass Sie leicht Ihre Antwort bekommen hätten, indem Sie "list to string python" googeln. Ich bin 100% positiv, das erste Ergebnis wird die richtige Lösung sein. Ich gebe dir nicht die Schuld, es ist manchmal schwer die richtigen Bedingungen zu finden, um Google zu googeln, kein Schaden angerichtet und froh, dass du das gelernt hast! – Trufa

Antwort

16

Eigentlich sorted() wenn immer an einer Schnur verwendet Renditen eine Liste der einzelnen Charaktere. also sollten Sie str.join() verwenden, um eine Zeichenfolge aus dieser Liste zu erstellen.

>>> x = 'yellow' 
>>> ''.join(sorted(x)) 
'ellowy' 
9
x = 'yellow' 
print(''.join(sorted(x))) 
+2

Drei identische (richtige) Antworten zur gleichen Zeit. Die einzige Lösung ist, sie alle zu verbessern. – zebediah49

11

join() Die Methode eines Strings verbindet jedes Element des Arguments mit Kopien des bestimmten String-Objekt als ein Trennzeichen zwischen jedem Element. Viele Leute finden diese eine seltsame und eingängig Art, die Dinge zu tun, aber durch die Elemente mit einem leeren String verbinden können Sie eine Liste von Zeichenketten in einer einzigen Zeichenfolge konvertieren:

x = 'yellow' 
print(''.join(sorted(x))) 
+0

lol .. 3 Sekunden schneller !! :) –

4

Wenn Sie Guido wollen hate Sie, versuchen Sie:

reduce(lambda l,r: l+r, sorted(x)) 

;-)

in Python 3 würden Sie es aus dem functools Paket importieren müssen

+0

lol - downvote für? Blasphemie? :-) –

+1

Ich habe nicht downvote aber vielleicht war es für eine überkomplizierte Lösung für ein einfaches Problem? :) – Trufa

+3

-0 für "technisch korrekt - die beste Art von richtig!" –

Verwandte Themen