Tri des listes de chaînes en Python
L'une des tâches courantes en programmation consiste à trier les données textuelles. En Python, le tri d'une liste de chaînes peut être réalisé à l'aide de diverses techniques.
Tri de base
La méthode la plus simple consiste à utiliser la méthode sort() sur la liste elle-même . Ceci trie la liste sur place, en modifiant l'ordre d'origine.
mylist = ["b", "C", "A"] mylist.sort()
Copie triée
Si vous souhaitez créer une copie triée de la liste sans modifier le original, utilisez la fonction sorted().
for x in sorted(mylist): print(x)
Locale-Sensitive Tri
Par défaut, Python effectue un tri sensible à la casse, uniquement en ASCII. Pour prendre en compte les règles spécifiques aux paramètres régionaux, utilisez le paramètre key avec l'assistant cmp_to_key() de functools.
import locale from functools import cmp_to_key sorted(mylist, key=cmp_to_key(locale.strcoll))
Tri des paramètres régionaux personnalisés
Vous pouvez spécifier des paramètres régionaux personnalisés pour le tri. Par exemple, pour trier selon les règles anglaises avec l'encodage UTF-8 :
import locale locale.setlocale(locale.LC_ALL, 'en_US.UTF-8') # ...
Tri insensible à la casse
Évitez d'utiliser des méthodes telles que lower() pour la casse. tri insensible car ils ne fonctionnent que pour les caractères ASCII. Utilisez plutôt un tri sensible aux paramètres régionaux avec des outils tels que strcoll().
Tri incorrect insensible à la casse
# Incorrect because it uses lower(), which is limited to ASCII mylist.sort(key=lambda x: x.lower())
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!