Programme Python pour vérifier si la chaîne est vide ou non
Les chaînes Python sont immuables et ont une gestion plus complexe lors de la discussion de leurs opérations. Notez qu'une chaîne avec des espaces est en fait une chaîne vide mais a une taille non nulle. Cet article traite également de ce problème et de sa solution. Voyons différentes méthodes de Vérifiez si la chaîne est vide Python .
Exemple
Input: [' '] Output: Yes Explanation: In this, We are checking if the string is empty or not.
Vérifier la chaîne vide en Python
Voici différentes méthodes pour vérifier si une chaîne est vide ou non en Python.
- Utiliser len()
- Utiliser not()
- Utiliser not + str.strip()
- Utiliser not + str.isspace
- Utiliser la compréhension de liste
- Utiliser Bool
- Utiliser les méthodes de bande
- Utilisation de la fonction Opérateur + strip()
- Utilisation de la fonction all()
- Utilisation de try/sauf
Python Vérifiez la chaîne vide en utilisant Len()
En utilisant seulement() est la méthode la plus générique pour vérifier les chaînes de longueur nulle. Même s'il ignore le fait qu'une chaîne contenant uniquement des espaces doit également être pratiquement considérée comme une chaîne vide, même si elle est différente de zéro.
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'> )> |
Sortir
The zero length string without spaces is empty ? : Yes The zero length string with just spaces is empty ? : No
Chaîne de vérification Python vide en utilisant Not()
L'opérateur not peut également effectuer une tâche similaire à len() et vérifie la chaîne de longueur 0, mais comme ci-dessus, il considère que la chaîne avec juste des espaces n'est également pas vide, ce qui ne devrait pas être pratiquement vrai.
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'> )> |
Sortir
The zero length string without spaces is empty ? : Yes The zero length string with just spaces is empty ? : No
Chaîne vide Python dans ne chante pas + str.strip()
Le problème d'une chaîne vide + de longueur nulle peut éventuellement être supprimé en utilisant strip(), strip() renvoie true s'il rencontre les espaces, donc sa vérification peut résoudre le problème de la vérification d'une chaîne purement vide.
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'> )> |
Sortir
The zero length string without spaces is empty ? : Yes The zero length string with just spaces is empty ? : Yes
Vérifiez la chaîne vide Python u ne chante pas + str.isspace
Fonctionne de la même manière que la méthode ci-dessus et vérifie les espaces dans la chaîne. Cette méthode est plus efficace car strip() nécessite également d'effectuer l'opération de strip, ce qui prend des charges de calcul si ce n'est pas le cas. des places sont en bon nombre.
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'> )> |
Sortir
The zero length string without spaces is empty ? : Yes The zero length string with just spaces is empty ? : Yes
Vérifiez si la chaîne est vide ou n'utilise pas la compréhension de liste
Cette approche implique d'analyser le texte en une liste de caractères en utilisant la compréhension de liste, puis de déterminer si la liste est vide. Nous pouvons évaluer si la chaîne est vide ou non en évaluant la véracité de la liste.
Python3
string> => ''> x> => [> 'no'> if> len> (string)>> 0> else> 'yes'> ]> print> (x)> |
Sortir
['yes']
Vérifiez la chaîne vide Python ou ne pas utiliser Bool
Une approche consiste à utiliser le fonction booléenne . La fonction bool renvoie False pour les chaînes vides et True pour les chaînes non vides. Voici un exemple d'utilisation de la fonction bool pour vérifier si une chaîne est vide ou non.
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> |
Sortir
The string is empty.
Vous pouvez également utiliser la fonction bool pour vérifier si une chaîne est vide ou non après avoir supprimé les espaces de début ou de fin à l'aide de la méthode 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> |
Sortir
The string is empty.
Python Vérifier si une chaîne est vide en utilisant la méthode Strip
Ici, nous utiliserons Python Méthodes strip() pour vérifier que la chaîne est vide ou non.
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'> )> |
Sortir
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty
Vérifiez que la chaîne est vide ou n'est pas utilisée et la fonction Operator + strip()
Dans cette approche, l'opérateur and est utilisé pour combiner deux tests : déterminer si la chaîne n'est pas None et déterminer si la version supprimée de la chaîne est vide. Les caractères d'espacement de début et de fin sont éliminés de la chaîne par la fonction 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'> )> |
Sortir
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty
Python Vérifier si une chaîne est vide en utilisant la fonction all()
La valeur de retour de la fonction all() nécessite un Iterable comme entrée. Si l'Iterable est vide ou si tous ses membres sont vrais, la valeur est vraie. La fonction all() peut déterminer si une chaîne est vide ou si tous ses caractères sont faux (chaîne vide) en recevant la chaîne sous forme d'itérable de caractères.
Python3
string> => ''> if> all> (char.isspace()> for> char> in> string):> > print> (> 'The string is empty'> )> else> :> > print> (> 'The string is not empty'> )> |
Sortir
The string is empty
L'approche booléenne pour vérifier si une chaîne est vide ou n'a pas de complexité temporelle de O(1), puisqu'il vérifie simplement la valeur de vérité de la chaîne, ce qui est une opération à temps constant. Le Espace auxiliaire i est également O(1) car il ne nécessite qu'une seule variable booléenne pour stocker la valeur de vérité de la chaîne.
Python vérifie la chaîne vide à l'aide de Try/Except
À l'aide d'un bloc try-sauf, vous pouvez déterminer en Python si une chaîne est vide. Vous pouvez détecter et gérer des exceptions spécifiques qui pourraient survenir pendant l'exécution de votre code en utilisant le bloc try-sauf. Vous pouvez gérer gracieusement les circonstances dans lesquelles vous anticipez une erreur probable, par exemple lorsque vous recherchez une chaîne vide, en utilisant un bloc try-sauf.
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.'> )> |
Sortir
The string is empty
Analyse de complexité :
Ce code a une complexité temporelle constante de O(1) car il tente uniquement d'accéder au premier caractère de la chaîne, ce qui prend le même temps quelle que soit la longueur de la chaîne.