Ciągi znaków w języku Python są niezmienne i wymagają bardziej złożonej obsługi podczas omawiania ich operacji. Należy zauważyć, że ciąg ze spacjami jest w rzeczywistości ciągiem pustym, ale ma rozmiar niezerowy. W tym artykule omówiono również ten problem i jego rozwiązanie. Zobaczmy różne metody Sprawdź, czy ciąg znaków jest pusty Pyton .
Przykład
Input: [' '] Output: Yes Explanation: In this, We are checking if the string is empty or not.>
Sprawdź pusty ciąg w Pythonie
Oto różne metody sprawdzania, czy ciąg znaków jest pusty, czy nie w Pythonie.
- Używanie len()
- Używanie nie()
- Używanie not + str.strip()
- Używanie not + str.isspace
- Używanie rozumienia list
- Używanie Boola
- Stosowanie metod paskowych
- Używanie operatora i + funkcji strip().
- Korzystanie z funkcji all().
- Używanie try/except
Python Sprawdź pusty ciąg znaków za pomocą Len()
Za pomocą tylko() to najbardziej ogólna metoda sprawdzania ciągów o zerowej długości. Chociaż ignoruje fakt, że ciąg znaków zawierający same spacje również powinien być praktycznie uważany za pusty ciąg, nawet jeśli jest różny od zera.
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'>)> |
>
>
Wyjście
int do napisania Java
The zero length string without spaces is empty ? : Yes The zero length string with just spaces is empty ? : No>
Python Sprawdź, czy ciąg znaków jest pusty używając Nie()
Operator not może również wykonać zadanie podobne do len() i sprawdzić, czy ciąg znaków ma długość 0, ale tak jak powyżej, uważa ciąg znaków zawierający same spacje również za niepusty, co w praktyce nie powinno być prawdą.
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'>)> |
>
>
Wyjście
The zero length string without spaces is empty ? : Yes The zero length string with just spaces is empty ? : No>
Pusty ciąg Pythona W nie śpiewaj + str.strip()
Problem pustego łańcucha o zerowej długości można ewentualnie usunąć za pomocą strip(). strip() zwraca wartość true, jeśli napotka spacje, dlatego sprawdzenie go może rozwiązać problem sprawdzania czysto pustego łańcucha.
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'>)> |
>
>
Wyjście
The zero length string without spaces is empty ? : Yes The zero length string with just spaces is empty ? : Yes>
Sprawdź pusty ciąg znaków Python u nie śpiewaj + str.isspace
Działa podobnie jak powyższa metoda i sprawdza spacje w ciągu. Ta metoda jest bardziej wydajna, ponieważ strip() wymaga również wykonania operacji strip, która w przypadku braku wymaga obciążenia obliczeniowego. spacji jest sporo.
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'>)> |
>
>
Wyjście
The zero length string without spaces is empty ? : Yes The zero length string with just spaces is empty ? : Yes>
Sprawdź, czy ciąg znaków jest pusty lub nie korzysta ze zrozumienia listy
Podejście to polega na przeanalizowaniu tekstu na listę znaków przy użyciu funkcji rozumienia listy, a następnie ustaleniu, czy lista jest pusta. Możemy ocenić, czy ciąg znaków jest pusty, oceniając prawdziwość listy.
Python3
string>=>''> x>=>[>'no'> if> len>(string)>>0> else> 'yes'>]> print>(x)> |
>
>
Wyjście
['yes']>
Sprawdź pusty ciąg Pythona lub nie używasz Bool
Jednym z podejść jest użycie funkcja boolowa . Funkcja bool zwraca False dla pustych ciągów i True dla niepustych ciągów. Oto przykład użycia funkcji bool do sprawdzenia, czy ciąg znaków jest pusty, czy nie.
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> |
>
>
Wyjście
The string is empty.>
Możesz także użyć funkcji bool, aby sprawdzić, czy ciąg znaków jest pusty, czy nie, po usunięciu wszelkich początkowych i końcowych białych znaków za pomocą metody 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> |
>
>
Wyjście
The string is empty.>
Python Sprawdź, czy String jest pusty przy użyciu metody Strip
Tutaj użyjemy Pythona metody strip(). aby sprawdzić, czy ciąg jest pusty, czy nie.
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'>)> |
>
>
Wyjście
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty>
Sprawdź, czy ciąg znaków jest pusty lub nie jest używany oraz operator + funkcja strip().
W tym podejściu operator i służy do łączenia dwóch testów: określenia, czy ciąg znaków nie jest Brak oraz określenia, czy pozbawiona wersji ciągu znaków jest pusta. Początkowe i końcowe białe znaki są eliminowane z ciągu za pomocą funkcji 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'>)> |
>
>
Wyjście
string, string1 = '', with no spaces is empty string, string2 = ' ', with spaces is empty>
Python Sprawdź, czy String jest pusty przy użyciu funkcji all().
Wartość zwracana przez funkcję all() wymaga wejścia Iterable. Jeśli Iterable jest pusty lub wszystkie jego elementy mają wartość true, wartość jest true. Funkcja all() może określić, czy ciąg znaków jest pusty lub czy wszystkie jego znaki są fałszywe (pusty ciąg znaków), odbierając ciąg jako iterowalną liczbę znaków.
Python3
string>=> ''> if> all>(char.isspace()>for> char>in> string):> >print>(>'The string is empty'>)> else>:> >print>(>'The string is not empty'>)> |
>
>
Wyjście
The string is empty>
Metoda bool służąca do sprawdzania, czy ciąg znaków jest pusty, czy nie, ma a złożoność czasu O(1), ponieważ po prostu sprawdza wartość logiczną ciągu, co jest operacją na stałym czasie. The Przestrzeń pomocnicza I s także O(1), ponieważ wymaga tylko jednej zmiennej logicznej do przechowywania wartości logicznej ciągu.
Python Sprawdź pusty ciąg za pomocą Try/Except
Używając bloku try-except, możesz określić w Pythonie, czy ciąg znaków jest pusty. Możesz wychwycić i poradzić sobie z określonymi wyjątkami, które mogą pojawić się podczas wykonywania kodu, używając bloku try-except. Możesz z łatwością zarządzać okolicznościami, gdy przewidujesz prawdopodobny błąd, na przykład podczas sprawdzania pustego ciągu, używając bloku 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.'>)> |
>
>
Wyjście
The string is empty>
Analiza złożoności:
Kod ten ma stałą złożoność czasową O(1), ponieważ próbuje uzyskać dostęp tylko do pierwszego znaku ciągu, co zajmuje tyle samo czasu niezależnie od długości ciągu.