Maison >développement back-end >Tutoriel Python >Programme Python pour vérifier si les caractères de tous les éléments de chaîne sont dans l'ordre lexicographique
Ordre lexical fait référence à l'ordre des caractères ou des chaînes basé sur le dictionnaire ou l'ordre alphabétique. Les caractères sont classés par ordre lexical de la même manière qu’ils le sont dans un dictionnaire. La comparaison est effectuée sur la base de la valeur numérique des caractères dans le jeu de caractères respectif (tel que ASCII ou Unicode).
Dans ordre lexical, les caractères sont comparés de gauche à droite en fonction de leurs valeurs ASCII ou Unicode. Les caractères avec des valeurs ASCII ou Unicode inférieures précèdent les caractères avec des valeurs plus élevées. Par exemple, dans l'ordre ASCII, « a » précède « b », « b » précède « c », et ainsi de suite.
Lors de la comparaison de chaînes, ordre lexical est déterminé en comparant les caractères correspondants de la chaîne de gauche à droite. Une chaîne est considérée comme lexicalement plus grande si son premier caractère est supérieur au caractère correspondant d’une autre chaîne. Si les premiers caractères sont identiques, les seconds caractères sont comparés, et ainsi de suite jusqu'à ce qu'une différence soit trouvée ou qu'une chaîne se termine.
Il existe plusieurs façons de vérifier si les caractères de tous les éléments de chaîne sont dans l'ordre lexical.
all() est une fonction Python intégrée qui renvoie True si tous les éléments de l'itérable sont considérés comme True, sinon elle renvoie False. Il prend un itérable comme argument et évalue la véracité de chaque élément de l'itérable.
Voici les points clés similaires au fonctionnement de la fonction all().
Il prend un Iterable comme argument, comme une liste, un tuple, un ensemble ou tout autre objet itérable.
Il parcourt chaque élément de l'itérable.
Cette fonction renvoie True si tous les éléments du contexte booléen sont considérés comme True.
Si un élément est considéré comme False dans un contexte booléen, la fonction renvoie False.
Si l'itérable est vide, cette fonction retournera True car il n'y a aucun élément à calculer.
Dans cette méthode, nous utilisons la compréhension de liste et la fonction all() pour parcourir la liste de chaînes. La fonction all() renvoie True uniquement si tous les éléments de l'itérable sont True. En compréhension de liste, nous comparons chaque chaîne avec la chaîne suivante en utilisant l'opérateur
def check_lexical_order(strings): return all(strings[i] <= strings[i+1] for i in range(len(strings)-1)) words = ['apple', 'banana', 'cherry', 'date'] result = check_lexical_order(words) print(result)
True
sorted() est une fonction Python intégrée qui renvoie une nouvelle liste triée à partir des éléments d'un itérable. Il accepte un objet itérable comme argument et renvoie une nouvelle liste contenant les éléments de l'objet itérable par ordre croissant.
Voici les points clés du fonctionnement de la fonction sorted().
Il accepte un objet itérable comme premier argument tel qu'une liste, un tuple, un ensemble ou tout autre objet itérable.
Il crée une nouvelle liste en itérant sur les éléments d'un itérable.
Il compare les éléments en utilisant l'ordre par défaut ou une fonction clé personnalisée (si fournie).
Il renvoie une nouvelle liste avec des éléments triés par ordre croissant.
Dans cette méthode, nous utilisons la fonction sorted() pour créer une nouvelle liste sorted_strings, qui contient les chaînes triées par ordre lexical. Nous comparons ensuite cette liste triée avec la liste originale de chaînes à l’aide de l’opérateur ==. Si les deux listes sont égales, cela signifie que les caractères de tous les éléments de chaîne sont dans l'ordre lexical.
def check_lexical_order(strings): sorted_strings = sorted(strings) return sorted_strings == strings words = ['apple', 'banana', 'cherry', 'date'] result = check_lexical_order(words) print(result)
True
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!