logo

Comparación de cadenas en Python

La comparación de cadenas es una operación fundamental en cualquier lenguaje de programación, incluido Python. Nos permite determinar las posiciones relativas, el orden y la igualdad de las cadenas. Pitón Tiene una serie de operadores y técnicas para comparar cadenas, cada uno con una función específica. Examinaremos numerosos métodos de comparación de cadenas de Python en este artículo y comprenderemos cómo usarlos.

  Input:   'Geek' == 'Geek'  'Geek' <'geek'  'Geek'>'geek' 'Geek' != 'Geek' Salida: Verdadero Verdadero Falso Falso Explicación: En esto, estamos comparando dos cadenas si son iguales entre sí.>

Comparación de cadenas de Python

  • Usando Operadores relacionales
  • Usando Expresión regular
  • Usando el operador Is
  • Creando un usuario definido función.

Igual a String Python u cantar Operadores relacionales

El operadores relacionales compare los valores Unicode de los caracteres de las cadenas desde el índice cero hasta el final de la cadena. Luego devuelve un valor booleano según el operador utilizado. Comprueba la equivalencia de cadenas de Python.



algoritmo rr

Python3








print>(>'Geek'> =>=> 'Geek'>)> print>(>'Geek'> <>'geek'>)> print>(>'Geek'> >>'geek'>)> print>(>'Geek'> !>=> 'Geek'>)>

>

>

Producción

True True False False>

Igual a String Python u cantar Expresión regular

En Python, puede usar expresiones regulares para verificar la equivalencia de cadenas de Python usando elre>módulo. Expresiones regulares Proporciona una forma flexible y potente de definir patrones y realizar operaciones de coincidencia de patrones en instrumentos de cuerda .

Python3




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)>

>

>

Producción

'GeeksFor' found in 'GeeksForGeeks' 'Geeks' found in 'GeeksForGeeks'>

Comparación de cadenas en Python u canto yo s Operador

El == operador compara los valores de ambos operandos y comprueba la igualdad de valores. Mientras es El operador comprueba si ambos operandos se refieren al mismo objeto o no. Lo mismo ocurre con != y no es . entendamos Cadena de pitón Equivalencia con un ejemplo.

Python3




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)>

>

>

Producción

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>

El ID de objeto de las cadenas puede variar en diferentes máquinas. Los ID de objeto de str1, str2 y str3 eran los mismos, por lo que el resultado es Verdadero en todos los casos. Después de cambiar la identificación del objeto de str1, el resultado de str1 y str2 será falso. Incluso después de crear str4 con el mismo contenido que en el nuevo str1, la respuesta será falsa ya que sus ID de objeto son diferentes. Lo contrario sucederá con no lo es.

Comparación de cadenas en Python Creación de una función definida por el usuario.

Al utilizar operadores relacionales, solo podemos verificar la equivalencia de cadenas de Python mediante su Unicode. Para comparar dos instrumentos de cuerda De acuerdo con algunos otros parámetros, podemos hacer funciones definidas por el usuario . En el siguiente código, nuestra función definida por el usuario comparará las cadenas según la cantidad de dígitos.

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'>))>

>

>

Producción

False False True>