logo

Как да проверите дали низът е празен в Python

Низовете на Python остават неизменни, което означава, че можем да ги променяме въз основа на операциите, които изпълняваме. Най-важната функционалност на Python е манипулирането на низове. Много методи, включително подходи за нарязване на низове, преминаване през неговите елементи и методи на низове, могат да се използват за промяна на низа. Жизненоважно е да разберете, че низ с интервали всъщност е празен низ с ненулева дължина. Този проблем ще бъде обсъден в този урок, както и възможно решение. В резултат на това, когато използваме само() или ' не ' за проверка за празен низ, той всъщност брои интервала като нищо по-малко от символ на низа, следователно низ с интервал няма да се брои като празен низ.

В Python можем да използваме един от основните начини, описани по-долу, за да проверим за празен низ.

  1. Използване на оператор not
  2. Използване на функцията len().
  3. Използване на not + string.isspace()
  4. Използване на len() + string.strip()
  5. Използване на и + string.strip()
  6. Използване на __eq__

Използване на не оператор

The не операторът изпълнява същата работа като само() функция. В Python празен низ наистина е равен на False. The не може да се използва за определяне дали даден низ наистина е празен или не. The не операцията в Python предотвратява тълкуването на низа като празен низ, ако съдържа интервали.

Пример

формат на java низ

В този пример използвахме два типа низове, string1 и string2. Низът2 има бели интервали, а низ1 е празен низ. След това използвахме условие „if else“, за да проверим дали дадения низ е празен, ако не е в низа. Не е празен обаче. Празните интервали не се третират като празни низове от оператора not, следователно изходът няма да бъде празен низ в случай на втори входен низ. Накрая резултатът е отпечатан.

Код:

 #taking an empty string and a string with spaces only string1 = '' string2 = ' ' if not string1: print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if not string2: print(f'string, string2 = '{string2}', with spaces is empty') else: print(f'string, string2 = '{string2}', with spaces is not empty') 

Изход:

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

Използване на метода len().

Ще използваме python само() функция за определяне на дължината на низа. Тогава, ако дължината на низа е равна на 0, низът е празен; в противен случай не е така. При използване на само() техника в Python, низът всъщност не се счита за празен низ, ако съдържа интервали.

мрежа и видове мрежи

Пример

В този пример използвахме два типа низове, string1 и string2. Низът2 има бели интервали, а низ1 е празен низ. След това дължината на всеки низ беше изчислена с помощта на функцията len() на Python. След това използвахме цикъла „if-else“, за да проверим дали дължината на низа е равна на нула, в който случай условието отпечатва, че низът е празен, и в който случай низът за печат не е празен. Белите интервали в низа не се считат за празни от само() , което води до непразен низ. Накрая отпечатахме резултата и от двата низа.

Код:

 #taking an empty string and a string with spaces only string1 = '' string2 = ' ' length1 = len(string1) length2 = len(string2) if length1 == 0: print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if length2 == 0: print(f'string, string2 = '{string2}', with spaces is empty') else: print(f'string, string2 = '{string2}', with spaces is not empty') 

Изход:

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

Използване на not Operator + str.isspace()

Той проверява за бели интервали там в лентата по същия начин, по който Лента() функция прави. Въпреки това, Лента() функцията отнема много време, когато се противопоставя на ул. isspace() тъй като strip() трябва да изпълни операция strip, което изисква много компютърна работа.

Пример

В този пример използвахме два типа низове, string1 и string2. Низът2 има бели интервали, а низ1 е празен низ. Използвано е условието „if-else“. Използвахме isspace() метод в условието if else, който проверява за всички интервали от низове. Накрая изходът е отпечатан и можете да видите, че и двата низа са празни.

Код:

 #taking an empty string and a string with spaces only string1 = '' string2 = ' ' if string1 and not string1.isspace(): print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if string2 and not string2.isspace(): print(f'string, string2 = '{string2}', with spaces is empty') else: print(f'string, string2 = '{string2}', with spaces is not empty') 

Изход:

произволно число в java
 string, string1 = '', with no spaces is not empty string, string2 = ' ', with spaces is not empty 

Използване на len() + string.strip()

В Python използвайте len() + string.strip() техника за проверка за напълно празен низ. Празното пространство в низ се премахва с помощта на string.strip() метод. Ако има интервал в низа, Лента() метод го премахва и само() функцията проверява дали низът е празен или не.

Пример

Независимо колко интервали поставяме в низа, той ги премахва всички и проверява дължината на низа; ако върне 0, низът е празен; иначе не е.

Код:

 #taking an empty string and a string with spaces only string1 = '' string2 = ' ' if len(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 len(string2.strip()): print(f'string, string2 = '{string2}', with spaces is not empty') else: print(f'string, string2 = '{string2}', with spaces is empty') 

Изход:

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

Използване на оператор 'и' + функция strip().

Забелязахме, че интервалите в низовете не винаги се интерпретират като празни низове. Така че, когато използваме Лента() функция за проверка дали низът е празен, наистина можем да проверим и за бели интервали.

Пример

случайно число c код

В този пример използвахме два входни низа, string1 и string2. Низът2 има бели интервали, а низ1 е празен низ. След това използвахме условието if-else и Лента() функция, за да видите дали низът е празен или не. Ако условието е False, низът е празен и блоковете се изпълняват в противен случай. Празното пространство също се счита за празен низ в този метод. Накрая резултатът е отпечатан.

Код:

 #input empty with and without spaces string s = '' str = ' ' 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') 

Изход:

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

Използване на функцията Strip().

Забелязахме, че интервалите в низовете не винаги се интерпретират като празни низове. Така че, когато използваме Лента() функция за проверка дали низът е празен, наистина можем да проверим и за бели интервали.

Пример

В този пример използвахме два входни низа, string1 и string2. Низът1 има бели интервали, а низ2 е празен низ. Използвахме условие if else за премахване на низовете, премахване на белите интервали и след това връщане на празен низ, ако низът стане празен. В противен случай низът не е празен. Накрая резултатът е отпечатан.

Код:

импорт мравка
 #input empty with and without spaces string s = '' str = ' ' if 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.strip(): print(f'string, string2 = '{string2}', with spaces is not empty') else: print(f'string, string2 = '{string2}', with spaces is empty') 

Изход:

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

Използване на метода __eq__

Dunder идентифицира методите с две долни черти преди, както и след техните имена. The __eq__ метод може да се използва и за проверка за празен низ. При обаждане на __eq__ техника в Python, низът не се счита за празен низ, ако съдържа интервали.

Пример

В този пример използвахме два входни низа, string1 и string2. Низът2 има бели интервали, а низ1 е празен низ. The __eq__ е използвана функция. В условието if-else използвахме дадения метод, за да проверим дали низът е празен или не. Накрая резултатът е отпечатан. Белите интервали не се третират като празни низове при този подход.

Код:

 #taking an empty string and a string with spaces only string1 = '' string2 = ' ' if ''.__eq__(string1): print(f'string, string1 = '{string1}', with no spaces is empty') else: print(f'string, string1 = '{string1}', with no spaces is not empty') if ''.__eq__(string2): print(f'string, string1 = '{string2}', with no spaces is empty') else: print(f'string, string1 = '{string2}', with no spaces is not empty') 

Изход:

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