La comparaison de chaînes est une opération fondamentale dans tout langage de programmation, y compris Python. Cela nous permet de vérifier les positions relatives, l’ordre et l’égalité des chaînes. Python dispose d'un certain nombre d'opérateurs et de techniques pour comparer des chaînes, chacun ayant une fonction spécifique. Nous examinerons de nombreuses méthodes de comparaison de chaînes Python dans cet article et comprendrons comment les utiliser.
Input: 'Geek' == 'Geek' 'Geek' <'geek' 'Geek'>'geek' 'Geek' != 'Geek' Sortie : True True False False Explication : En cela, nous comparons deux chaînes si elles sont égales l'une à l'autre.>
Comparaison de chaînes Python
- En utilisant Opérateurs relationnels
- En utilisant Expression régulière
- Utilisation de l'opérateur Is
- Créer un défini par l'utilisateur fonction.
Égal à String Python u chanter Opérateurs relationnels
Le opérateurs relationnels comparez les valeurs Unicode des caractères des chaînes depuis l'index zéro jusqu'à la fin de la chaîne. Il renvoie ensuite une valeur booléenne selon l'opérateur utilisé. Il vérifie l'équivalence des chaînes Python.
Python3
print>(>'Geek'> =>=> 'Geek'>)> print>(>'Geek'> <>'geek'>)> print>(>'Geek'> >>'geek'>)> print>(>'Geek'> !>=> 'Geek'>)> |
>
>
Sortir
True True False False>
Égal à String Python u chanter Expression régulière
En Python, vous pouvez utiliser des expressions régulières pour vérifier l'équivalence des chaînes Python à l'aide de l'outilre>module. Expressions régulières fournir un moyen flexible et puissant de définir des modèles et d'effectuer des opérations de correspondance de modèles sur cordes .
Python3
Rajinikanth
import> re> def> compare_strings(string1, string2):> >pattern>=> re.>compile>(string2)> >match>=> re.search(pattern, string1)> >if> match:> >print>(f>''{string2}' found in '{string1}''>)> >else>:> >print>(f>''{string2}' not found in '{string1}''>)> string1>=> 'GeeksForGeeks'> string2>=> 'GeeksFor'> string3>=> 'Geeks'> compare_strings(string1, string2)> compare_strings(string1, string3)> |
>
>
Sortir
'GeeksFor' found in 'GeeksForGeeks' 'Geeks' found in 'GeeksForGeeks'>
Comparaison de chaînes en Python u je chante s Opérateur
Le == opérateur compare les valeurs des deux opérandes et vérifie l'égalité des valeurs. Alors que est L'opérateur vérifie si les deux opérandes font référence au même objet ou non. Il en va de même pour != et n'est pas . Comprenons-nous Chaîne Python Equivalence avec un exemple.
Python3
b plus arbre
str1>=> 'Geek'> str2>=> 'Geek'> str3>=> str1> print>(>'ID of str1 ='>,>hex>(>id>(str1)))> print>(>'ID of str2 ='>,>hex>(>id>(str2)))> print>(>'ID of str3 ='>,>hex>(>id>(str3)))> print>(str1>is> str1)> print>(str1>is> str2)> print>(str1>is> str3)> str1>+>=> 's'> str4>=> 'Geeks'> print>(>'
ID of changed str1 ='>,>hex>(>id>(str1)))> print>(>'ID of str4 ='>,>hex>(>id>(str4)))> print>(str1>is> str4)> |
>
>
Sortir
ID of str1 = 0x7f6037051570 ID of str2 = 0x7f6037051570 ID of str3 = 0x7f6037051570 True True True ID of changed str1 = 0x7f60356137d8 ID of str4 = 0x7f60356137a0 False>
L'ID d'objet des chaînes peut varier selon les machines. Les ID d'objet str1, str2 et str3 étaient les mêmes, le résultat est donc True dans tous les cas. Une fois l'identifiant de l'objet str1 modifié, le résultat de str1 et str2 sera faux. Même après avoir créé str4 avec le même contenu que dans le nouveau str1, la réponse sera fausse car leurs ID d'objet sont différents. L'inverse se produira si ce n'est pas le cas.
Comparaison de chaînes en Python Création d'une fonction définie par l'utilisateur.
En utilisant des opérateurs relationnels, nous ne pouvons vérifier l'équivalence des chaînes Python que par leur Unicode. Afin de comparer deux cordes selon d'autres paramètres, on peut faire fonctions définies par l'utilisateur . Dans le code suivant, notre fonction définie par l'utilisateur comparera les chaînes en fonction du nombre de chiffres.
Python3
# function to compare string> # based on the number of digits> def> compare_strings(str1, str2):> >count1>=> 0> >count2>=> 0> > >for> i>in> range>(>len>(str1)):> >if> str1[i]>>=> '0'> and> str1[i] <>=> '9'>:> >count1>+>=> 1> > >for> i>in> range>(>len>(str2)):> >if> str2[i]>>=> '0'> and> str2[i] <>=> '9'>:> >count2>+>=> 1> > >return> count1>=>=> count2> print>(compare_strings(>'123'>,>'12345'>))> print>(compare_strings(>'12345'>,>'geeks'>))> print>(compare_strings(>'12geeks'>,>'geeks12'>))> |
>
types de tests
>
Sortir
False False True>