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

Programme Python pour vérifier si les caractères de tous les éléments de chaîne sont dans l'ordre lexicographique

PHPz
PHPzavant
2023-08-30 20:29:181444parcourir

Programme Python pour vérifier si les caractères de tous les éléments de chaîne sont dans lordre 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.

Utilisez la fonction all()

La fonction

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.

Exemple

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)

Sortie

True

Utilisez la fonction sorted()

La fonction

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.

Exemple

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)

Sortie

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer