Programa Python para comprobar si la cadena está vacía o no

Las cadenas de Python son inmutables y tienen un manejo más complejo cuando se habla de sus operaciones. Tenga en cuenta que una cadena con espacios es en realidad una cadena vacía pero tiene un tamaño distinto de cero. Este artículo también analiza ese problema y su solución. Veamos diferentes métodos de Compruebe si la cadena está vacía Pitón .

Ejemplo

  Input:  [' ']   Output:   Yes   Explanation:   In this, We are checking if the string is empty or not. 

Verificar cadena vacía en Python

Aquí hay diferentes métodos para verificar si una cadena está vacía o no en Python.

  • Usando len()
  • Usando no()
  • Usando not + str.strip()
  • Usando not + str.isspace
  • Usando la comprensión de listas
  • Usando booleano
  • Usando métodos de tira
  • Uso de la función Operador + strip()
  • Usando la función todo()
  • Usando probar/excepto

Python comprueba la cadena vacía usando Len()

Usando solo() es el método más genérico para comprobar si hay cadenas de longitud cero. Aunque ignora el hecho de que una cadena con solo espacios también debería considerarse prácticamente una cadena vacía incluso si es distinta de cero.

Python3




# initializing string> test_str1> => ''> test_str2> => ' '> # checking if string is empty> print> (> 'The zero length string without spaces is empty ? : '> , end> => '')> if> (> len> (test_str1)> => => 0> ):> > print> (> 'Yes'> )> else> :> > print> (> 'No'> )> # prints No> print> (> 'The zero length string with just spaces is empty ? : '> , end> => '')> if> (> len> (test_str2)> => => 0> ):> > print> (> 'Yes'> )> else> :> > print> (> 'No'> )>

Producción

The zero length string without spaces is empty ? : Yes The zero length string with just spaces is empty ? : No 

Cadena de verificación de Python vacía usando No()

El operador not también puede realizar una tarea similar a len() y comprueba si hay una cadena de longitud 0, pero al igual que lo anterior, considera que la cadena con solo espacios tampoco está vacía, lo que prácticamente no debería ser cierto.

Python3




# initializing string> test_str1> => ''> test_str2> => ' '> # checking if string is empty> print> (> 'The zero length string without spaces is empty ? : '> , end> => '')> if> (> not> test_str1):> > print> (> 'Yes'> )> else> :> > print> (> 'No'> )> # prints No> print> (> 'The zero length string with just spaces is empty ? : '> , end> => '')> if> (> not> test_str2):> > print> (> 'Yes'> )> else> :> > print> (> 'No'> )>

Producción

The zero length string without spaces is empty ? : Yes The zero length string with just spaces is empty ? : No 

Cadena vacía de Python en no cantar + str.strip()

El problema de una cadena vacía + de longitud cero posiblemente se pueda eliminar usando strip(), strip() devuelve verdadero si encuentra espacios, por lo que verificarlo puede resolver el problema de verificar una cadena puramente vacía.

Python3




# initializing string> test_str1> => ''> test_str2> => ' '> # checking if string is empty> print> (> 'The zero length string without spaces is empty ? : '> , end> => '')> if> (> not> (test_str1> and> test_str1.strip())):> > print> (> 'Yes'> )> else> :> > print> (> 'No'> )> # prints Yes> print> (> 'The zero length string with just spaces is empty ? : '> , end> => '')> if> (> not> (test_str2> and> test_str2.strip())):> > print> (> 'Yes'> )> else> :> > print> (> 'No'> )>

Producción

The zero length string without spaces is empty ? : Yes The zero length string with just spaces is empty ? : Yes 

Marque la cadena vacía Python u no cantes + str.isspace

Funciona de manera similar al método anterior y busca espacios en la cadena. Este método es más eficiente porque strip() requiere realizar la operación de extracción también, lo que requiere cargas de cálculo si no. de espacios son de buen número.

Python3




# initializing string> test_str1> => ''> test_str2> => ' '> # checking if string is empty> print> (> 'The zero length string without spaces is empty ? : '> , end> => '')> if> (> not> (test_str1> and> not> test_str1.isspace())):> > print> (> 'Yes'> )> else> :> > print> (> 'No'> )> # prints Yes> print> (> 'The zero length string with just spaces is empty ? : '> , end> => '')> if> (> not> (test_str2> and> not> test_str2.isspace())):> > print> (> 'Yes'> )> else> :> > print> (> 'No'> )>

Producción

The zero length string without spaces is empty ? : Yes The zero length string with just spaces is empty ? : Yes 

Compruebe si la cadena está vacía o no utiliza la comprensión de lista

Este enfoque implica analizar el texto en una lista de caracteres mediante comprensión de listas y luego determinar si la lista está vacía. Podemos evaluar si la cadena está vacía o no evaluando la veracidad de la lista.

Python3




string> => ''> x> => [> 'no'> if> len> (string)>> 0> else> 'yes'> ]> print> (x)>

Producción

['yes'] 

Verifique la cadena vacía de Python o no use Bool

Un enfoque es utilizar el función booleana . La función bool devuelve False para cadenas vacías y True para cadenas no vacías. A continuación se muestra un ejemplo del uso de la función bool para comprobar si una cadena está vacía o no.

Python3




# Initializing a string> test_str> => ''> # Checking if the string is empty> if> not> bool> (test_str):> > print> (> 'The string is empty.'> )> else> :> > print> (> 'The string is not empty.'> )> #This code is contributed by Edula Vinay Kumar Reddy>

Producción

The string is empty. 

También puede usar la función bool para verificar si una cadena está vacía o no después de eliminar los espacios en blanco iniciales o finales usando el método strip:

Python3




# Initializing a string> test_str> => ' '> # Checking if the string is empty after removing leading and trailing whitespaces> if> not> bool> (test_str.strip()):> > print> (> 'The string is empty.'> )> else> :> > print> (> 'The string is not empty.'> )> #This code is contributed by Edula Vinay Kumar Reddy>

Producción

The string is empty. 

Python comprueba si es una cadena está vacío usando el método de tira

Aquí usaremos Python métodos de tira() para verificar que la cadena esté vacía o no.

Python3




#input empty with and without spaces string> s> => ''> str> => ' '> > if> s.strip():> > print> (f> 'string, string1 = '{s}', with no spaces is not empty'> )> else> :> > print> (f> 'string, string1 = '{s}', with no spaces is empty'> )> > if> str> .strip():> > print> (f> 'string, string2 = '{str}', with spaces is not empty'> )> else> :> > print> (f> 'string, string2 = '{str}', with spaces is empty'> )>

Producción

string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty 

La cadena de verificación está vacía o no se utiliza y la función Operador + strip()

En este enfoque, el operador and se utiliza para combinar dos pruebas: determinar si la cadena no es Ninguna y determinar si la versión eliminada de la cadena está vacía. Los espacios en blanco iniciales y finales se eliminan de la cadena mediante la función strip().

Python3




#input empty with and without spaces string> string1> => ''> string2> => ' '> > if> string1> and> string1.strip():> > print> (f> 'string, string1 = '{string1}', with no spaces is not empty'> )> else> :> > print> (f> 'string, string1 = '{string1}', with no spaces is empty'> )> > if> string2> and> string2.strip():> > print> (f> 'string, string2 = '{string2}', with spaces is not empty'> )> else> :> > print> (f> 'string, string2 = '{string2}', with spaces is empty'> )>

Producción

string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty 

Python comprueba si es una cadena está vacío usando la función all()

El valor de retorno de la función all() requiere un Iterable como entrada. Si el Iterable está vacío o todos sus miembros son verdaderos, el valor es verdadero. La función all() puede determinar si una cadena está vacía o si todos sus caracteres son falsos (cadena vacía) al recibir la cadena como un iterable de caracteres.

Python3




string> => ''> if> all> (char.isspace()> for> char> in> string):> > print> (> 'The string is empty'> )> else> :> > print> (> 'The string is not empty'> )>

Producción

The string is empty 

El método bool para comprobar si una cadena está vacía o no tiene un complejidad del tiempo de O(1), ya que simplemente verifica el valor de verdad de la cadena, que es una operación de tiempo constante. El Espacio auxiliar i También es O(1) ya que solo requiere una única variable booleana para almacenar el valor de verdad de la cadena.

Python comprueba una cadena vacía usando Try/Except

Usando un bloque try-except, puedes determinar en Python si una cadena está vacía. Puede detectar y gestionar excepciones específicas que podrían surgir mientras se ejecuta el código utilizando el bloque try-except. Puede gestionar con elegancia las circunstancias en las que anticipa un error probable, como cuando busca una cadena vacía, utilizando un bloque try-except.

Python3




# Initialize an empty string> string> => ''> try> :> > # Try to access the first character of the string> > string[> 0> ]> > # If no exception is raised, print 'The string is not empty.'> > print> (> 'The string is not empty.'> )> except> :> > # If a ValueError exception is raised, print 'The string is empty.'> > print> (> 'The string is empty.'> )>

Producción

The string is empty 

Análisis de complejidad:
Este código tiene una complejidad temporal constante de O(1) porque solo intenta acceder al primer carácter de la cadena, lo que lleva la misma cantidad de tiempo independientemente de la longitud de la cadena.