En Python, la fonction sorted() trie les chaînes dans l'ordre ASCIIbétique. Cependant, pour les scénarios où un tri naturel est souhaité, une bibliothèque appelée natsort vient à la rescousse.
natsort fournit à la fois une fonction de tri et une clé de tri. Pour une fonction de tri, vous pouvez utiliser natsorted() :
from natsort import natsorted l = ['Elm11', 'Elm12', 'Elm2', 'elm0', 'elm1', 'elm10', 'elm13', 'elm9'] natsorted(l, key=lambda y: y.lower())
Cela triera la liste selon l'ordre naturel ('elm0', 'elm1', etc.).
Si une clé de tri est plus adaptée, vous pouvez utiliser natsort_keygen() :
from natsort import natsort_keygen l = ['Elm11', 'Elm12', 'Elm2', 'elm0', 'elm1', 'elm10', 'elm13', 'elm9'] sort_key = natsort_keygen(key=lambda y: y.lower()) l.sort(key=sort_key)
Cela triera la liste dans le même ordre naturel.
natsort fournit également la fonction os_sorted pour trier dans le même ordre que le navigateur du système de fichiers sur un système d'exploitation particulier :
from natsort import os_sorted paths = ['path/to/file1', 'path/to/file10', 'path/to/file2'] os_sorted(paths)
Cela triera les chemins en fonction à l'explorateur de fichiers du système d'exploitation.
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!