La comparació de cadenes és una operació fonamental en qualsevol llenguatge de programació, inclòs Python. Ens permet determinar la posició relativa, l'ordenació i la igualtat de les cadenes. Python té una sèrie d'operadors i tècniques per comparar cadenes, cadascun amb una funció específica. En aquest article examinarem nombrosos mètodes de comparació de cadenes de Python i entendrem com utilitzar-los.
Input: 'Geek' == 'Geek' 'Geek' <'geek' 'Geek'>'Geek' 'Geek' != 'Geek' Sortida: Vertader Vertader Fals Fals Explicació: En això, estem comparant dues cadenes si són iguals entre si.>
Comparació de cadenes de Python
- Utilitzant Operadors relacionals
- Utilitzant Expressió normal
- Utilitzant Is Operator
- Creant a usuari definit funció.
Igual a String Python u cantar Operadors relacionals
El operadors relacionals compareu els valors Unicode dels caràcters de les cadenes des de l'índex zero fins al final de la cadena. A continuació, retorna un valor booleà segons l'operador utilitzat. Comprova l'equivalència de cadenes de Python.
Python 3
print>(>'Geek'> =>=> 'Geek'>)> print>(>'Geek'> <>'geek'>)> print>(>'Geek'> >>'geek'>)> print>(>'Geek'> !>=> 'Geek'>)> |
>
>
Sortida
True True False False>
Igual a String Python u cantar Expressió normal
A Python, podeu utilitzar expressions regulars per comprovar l'equivalència de cadenes de Python utilitzant elre>mòdul. Expressions regulars proporcionar una manera flexible i potent de definir patrons i realitzar operacions de concordança de patrons cordes .
Python 3
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)> |
>
>
Sortida
'GeeksFor' found in 'GeeksForGeeks' 'Geeks' found in 'GeeksForGeeks'>
Comparació de cadenes en Python u canta jo s Operador
El == operador compara els valors dels dos operands i comprova la igualtat de valors. Mentre que és L'operador comprova si els dos operands es refereixen al mateix objecte o no. El mateix passa amb != i no és . Ens entenem Cadena de Python Equivalència amb un exemple.
Python 3
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)> |
>
com sortir d'un bucle while java
>
Sortida
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'objecte de les cadenes pot variar en diferents màquines. Els ID d'objecte de str1, str2 i str3 eren els mateixos, per tant, el resultat és True en tots els casos. Després de canviar l'identificador de l'objecte de str1, el resultat de str1 i str2 serà fals. Fins i tot després de crear str4 amb el mateix contingut que al nou str1, la resposta serà falsa ja que els seus ID d'objecte són diferents. A l'inrevés passarà amb no.
Comparació de cadenes en Python Creació d'una funció definida per l'usuari.
Mitjançant l'ús d'operadors relacionals només podem comprovar l'equivalència de cadenes de Python amb el seu Unicode. Per comparar-ne dos cordes segons alguns altres paràmetres, podem fer funcions definides per l'usuari . Al codi següent, la nostra funció definida per l'usuari compararà les cadenes en funció del nombre de dígits.
Python 3
# 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'>))> |
>
>
Sortida
False False True>