logo

Kako provjeriti je li niz prazan u Pythonu

Python nizovi ostaju nepromjenjivi, što znači da ih možemo mijenjati na temelju operacija koje izvršavamo. Najznačajnija funkcionalnost Pythona je manipulacija stringovima. Za izmjenu niza mogu se koristiti mnoge metode, uključujući pristupe rezanja niza, prolazak kroz njegove elemente i metode niza. Od vitalne je važnosti razumjeti da je niz s razmacima zapravo prazan niz duljine različite od nule. O tom će se problemu raspravljati u ovom vodiču, kao io mogućem lijeku. Kao rezultat toga, kada koristimo samo() ili ' ne ' za provjeru praznog niza, on zapravo računa razmak kao ništa manje od znaka niza, stoga se niz s razmakom neće računati kao prazan niz.

U Pythonu možemo upotrijebiti jedan od dolje opisanih osnovnih načina za provjeru praznog niza.

  1. Korištenje operatora not
  2. Korištenje funkcije len().
  3. Upotreba not + string.isspace()
  4. Upotreba len() + string.strip()
  5. Korištenje i + string.strip()
  6. Upotreba __eq__

Korištenje ne operatora

The ne operater obavlja isti posao kao i samo() funkcija. U Pythonu je prazan niz doista jednak Falseu. The ne može se koristiti za određivanje je li niz doista prazan ili ne. The ne operacija u Pythonu sprječava da se niz interpretira kao prazan niz ako sadrži razmake.

Primjer

U ovom smo primjeru koristili dvije vrste nizova, string1 i string2. Niz2 ima razmake, a niz1 je prazan niz. Zatim smo upotrijebili uvjet 'if else' da provjerimo je li dani niz prazan ako nije u nizu. Nije, međutim, prazna. Operator not ne tretira razmake kao prazne nizove, stoga izlaz neće biti prazan niz u slučaju drugog ulaznog niza. Konačno, rezultat je ispisan.

Kodirati:

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

Izlaz:

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

Korištenje metode len().

Koristit ćemo python samo() funkcija za određivanje duljine niza. Zatim, ako je duljina niza jednaka 0, niz je prazan; inače nije. Prilikom korištenja samo() tehnika u Pythonu, niz se zapravo ne smatra praznim nizom ako sadrži razmake.

Primjer

U ovom smo primjeru koristili dvije vrste nizova, string1 i string2. Niz2 ima razmake, a niz1 je prazan niz. Duljina svakog niza zatim je izračunata pomoću Pythonove funkcije len(). Zatim smo upotrijebili 'if-else' petlju da provjerimo je li duljina niza jednaka nuli, u kojem slučaju uvjet ispisuje da je niz prazan, au kojem slučaju ispisani niz nije prazan. Praznine u nizu ne smatraju se praznima samo() , što rezultira nepraznim nizom. Na kraju smo ispisali rezultat oba niza.

Kodirati:

java niz u int
 #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') 

Izlaz:

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

Upotreba not Operator + str.isspace()

Provjerava ima li razmaka na traci na isti način kao i traka() funkcija radi. Međutim, traka() funkcija traje dugo kada je u suprotnosti s str. isspace() budući da strip() mora izvršiti strip operaciju, što zahtijeva puno računalnog rada.

Primjer

U ovom smo primjeru koristili dvije vrste nizova, string1 i string2. Niz2 ima razmake, a niz1 je prazan niz. Uvjet 'if-else' je korišten. Koristili smo isspace() metoda u if else uvjetu, koja provjerava sve razmake nizova. Konačno, izlaz je ispisan i možete vidjeti da su oba niza prazna.

Kodirati:

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

Izlaz:

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

Upotreba len() + string.strip()

U Pythonu koristite len() + string.strip() tehnika za provjeru potpuno praznog niza. Praznina u nizu uklanja se pomoću string.strip() metoda. Ako postoji razmak u nizu, traka() metoda ga uklanja, a samo() funkcija provjerava je li niz prazan ili ne.

Primjer

Bez obzira na to koliko razmaka stavimo u niz, on ih sve uklanja i provjerava duljinu niza; ako vrati 0, niz je prazan; inače, nije.

Kodirati:

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

Izlaz:

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

Upotreba operatora 'i' + funkcija strip().

Primijetili smo da se razmaci u nizovima ne tumače uvijek kao prazni nizovi. Dakle, kada koristimo traka() funkciju za provjeru je li niz prazan, doista možemo provjeriti i ima li razmaka.

Primjer

Koristili smo dva ulazna niza, niz1 i niz2, u ovom primjeru. Niz2 ima razmake, a niz1 je prazan niz. Zatim smo upotrijebili if-else uvjet i traka() funkciju da vidite je li niz prazan ili ne. Ako je uvjet False, niz je prazan, a blokovi se izvršavaju u suprotnom. Razmak se u ovoj metodi također smatra praznim nizom. Konačno, rezultat je ispisan.

Kodirati:

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

Izlaz:

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

Korištenje funkcije Strip().

Primijetili smo da se razmaci u nizovima ne tumače uvijek kao prazni nizovi. Dakle, kada koristimo traka() funkciju za provjeru je li niz prazan, doista možemo provjeriti i ima li razmaka.

Primjer

U ovom smo primjeru koristili dva ulazna niza, niz1 i niz2. Niz1 ima razmake, a niz2 je prazan niz. Koristili smo if else uvjet za uklanjanje nizova, uklanjanje razmaka, a zatim vraćanje praznog niza ako niz postane prazan. Niz inače nije prazan. Konačno, rezultat je ispisan.

Kodirati:

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

Izlaz:

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

Korištenje metode __eq__

Dunder identificira metode s dvije podvlake ispred i iza njihovih naziva. The __eq__ metoda se također može koristiti za provjeru praznog niza. Prilikom pozivanja __eq__ tehnika u Pythonu, niz se ne smatra praznim nizom ako sadrži razmake.

Primjer

Koristili smo dva ulazna niza, niz1 i niz2, u ovom primjeru. Niz2 ima razmake, a niz1 je prazan niz. The __eq__ korištena je funkcija. U uvjetu if-else koristili smo danu metodu da provjerimo je li niz prazan ili ne. Konačno, rezultat je ispisan. Razmaci se u ovom pristupu ne tretiraju kao prazni nizovi.

Kodirati:

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

Izlaz:

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