Maison  >  Article  >  développement back-end  >  Comment trier les chaînes en Python : sur place, copies, paramètres régionaux et paramètres régionaux personnalisés ?

Comment trier les chaînes en Python : sur place, copies, paramètres régionaux et paramètres régionaux personnalisés ?

DDD
DDDoriginal
2024-11-10 17:26:03986parcourir

How to Sort Strings in Python: In-Place,  Copies, Locale-Aware, and Custom Locales?

Tri des listes de chaînes en Python

L'une des tâches courantes en programmation consiste à trier une liste de chaînes. En Python, il existe plusieurs façons d'y parvenir, chacune avec ses propres avantages et mises en garde.

Tri sur place

L'approche la plus simple consiste à utiliser le tri( ) directement sur la liste. Cela modifie la liste d'origine, en triant ses éléments par ordre alphabétique sur place. Cependant, cette approche n'est pas idéale si vous souhaitez conserver l'ordre d'origine de la liste.

mylist = ["b", "C", "A"]
mylist.sort()

Créer des copies triées

Pour obtenir une copie triée d'un liste sans modifier l'original, utilisez la fonction sorted() :

for x in sorted(mylist):
    print(x)

Locale-Aware Tri

Les méthodes de tri décrites ci-dessus effectuent un tri sensible à la casse et ne tenant pas compte des paramètres régionaux. Pour tenir compte des règles spécifiques aux paramètres régionaux, vous pouvez utiliser le paramètre key des fonctions sort() ou sorted(), ainsi que la fonction d'assistance cmp_to_key() du module functools :

sorted(mylist, key=cmp_to_key(locale.strcoll))

Cela triera la liste en fonction des paramètres régionaux actuels.

Locales personnalisées

Enfin, si vous devez spécifier une locale personnalisée pour le tri, utilisez la fonction setlocale() du module locale :

import locale
locale.setlocale(locale.LC_ALL, 'en_US.UTF-8')
sorted((u'Ab', u'ad', u'aa'), key=cmp_to_key(locale.strcoll))

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn