Votre exemple de sortie est erroné, car il ressemblerait à ceci:
Perl
Python
and
are
languages
programming
Tri par le capital premier entraînerait Perl
ci-dessus Python
parce e
vient en premier. En outre, parce que les majuscules viennent en premier, vous pouvez simplement faire
print "\n".join(sorted(a.split()))
pour obtenir le résultat souhaité.
EDIT: Après avoir relu la question que je suis venu avec ce correctif/sortie:
print "\n".join(sorted(a.split(), key=lambda x: x >= 'a'))
Sortie:
Python
Perl
and
are
programming
languages
Explication: fonctions de tri en Python sont stable, ce qui signifie que l'ordre des éléments est préservé l'un par rapport à l'autre s'ils ont la même clé de comparaison. La fonction de clé attribuera une valeur de True
à tout ce qui est supérieur ou égal à 'a'
(qui est une chaîne commençant par une lettre minuscule), sinon False
. False
compare plus petit que True
, de sorte que tout majuscule est déplacé vers l'avant, sans changer l'ordre des mots majuscules ou minuscules.
s'il vous plaît nous montrer du code ... – avasal
question pas clair – Fivesheep
c'est vos devoirs? –