Tri d'une liste dans l'ordre inverse
J'ai une liste a = ['L', 'N', 'D']. Je veux inverser l'ordre des éléments dans un et obtenir b = ['D', 'N', 'L']. J'ai essayé ceci:
a = ['L', 'N', 'D']
b = sorted(a, reverse=True)
Mais la sortie est
b= ['N', 'L', 'D']
Où je fais une erreur?
sorted
est une fonction intégrée dans l'ordre de votrestr
élément alphabétique algorithme, plutôt que juste pour revenir sur votre séquence. Utilisationhelp(sorted)
dans votre kernel pour voir les détails.
Vous devez vous connecter pour publier un commentaire.
Votre erreur est à l'aide de
sorted
, qui réorganise la liste dans l'ordre des éléments et ignore où les éléments utilisés pour être. Au lieu d'utiliserQui s'exécute par le biais de la liste de
a
dans l'ordre inverse. Vous pouvez aussi utiliser lebien que la première version est plus rapide.
Vous pouvez également inverser en place:
Mais s'il vous plaît noter les modifications de la liste, n'est-ce pas créer (retour) un nouveau.
Si vous souhaitez utiliser triés(), vous pouvez spécifier que l'indice est la clé de tri:
Vous l'aviez presque dès la première fois. Essayez ceci: