Python — pārbaudiet, vai saraksts ir tukšs
Python programmēšanā efektīvai datu apstrādei ir svarīgi noteikt, vai saraksts ir tukšs. Šajā rakstā ir aplūkotas īsas metodes, kā pārbaudīt saraksta tukšumu, ļaujot izstrādātājiem efektīvi pārbaudīt, vai sarakstā ir elementi vai tajā nav datu. Izmantojot skaidrus koda piemērus, uzziniet, kā ieviest šīs metodes un nostiprināt savas prasmes Python's sarakstu pārvaldība.
Piemērs
Input: ['Geeks', 'Geeks', 'Geeks', 'Geeks', ] Output: Yes Not Empty Input: [ ] Output: Empty Explaination: In first example the list have elements in it and not empty, in second case the list is empty having no elemnts in it.
Kā pārbaudīt, vai Python saraksts ir tukšs
- Izmantojot tikai()
- Izmantojot netiešie Būla vērtības
- Izmantojot Ieteicams PEP 8 metodi
- Izmantojot != operators
- Izmantojot jebkurš () funkciju
- Izmantojot == operators
- Izmantojot mēģināt/izņemot
- Izmantojot Numpy modulis
Pārbaudiet tukšo sarakstu, izmantojot len()
Apskatīsim, kā mēs varam pārbaudīt, vai saraksts ir tukšs vai nav, mazāk pitoniskā veidā. Mums vajadzētu izvairīties no šāda veida nepārprotami pārbaudot secību vai sarakstu
Python3
def> Enquiry(lis1):> > if> len> (lis1)> => => 0> :> > return> 0> > else> :> > return> 1> > # Driver Code> lis1> => []> if> Enquiry(lis1):> > print> (> 'The list is not empty'> )> else> :> > print> (> 'Empty List'> )> |
Izvade:
Empty List
Laika sarežģītība: O(n)
Palīgtelpa: O(n), kur n ir saraksta garums
Pārbaudiet tukšo sarakstu, izmantojot netiešos Būla vērtības
Tagad apskatīsim pitoniskāku veidu, kā pārbaudīt, vai saraksts nav tukšs. Šī pārbaudes metode ir netieša pārbaudes veids un vairāk Tas ir vēlams nekā iepriekšējais .
Python3
def> Enquiry(lis1):> > if> not> lis1:> > return> 1> > else> :> > return> 0> > # Driver Code> lis1> => []> if> Enquiry(lis1):> > print> (> 'The list is Empty'> )> else> :> > print> (> 'The list is not empty'> )> |
Izvade:
The list is Empty
Laika sarežģītība: O(n)
Palīgtelpa: O(n), kur n ir saraksta garums
Pārbaudiet tukšo sarakstu, izmantojot PEP 8 ieteikto metodi
Šī ir vēl viena metode, kas ļauj mums noteikt, vai Python saraksts ir tukšs. Pitoniskākā metode tā pārbaudei ir parādīta zemāk.
Python3
list1> => {> 'a'> :> 1> ,> 'b'> :> 2> ,> 'c'> :> 3> }> list2> => []> > if> list2:> > print> (> 'list is not empty'> )> else> :> > print> (> 'list is empty'> )> |
Izvade:
list is empty
Laika sarežģītība: O(1)
Palīgtelpa: O(1)
Dotā saraksta salīdzināšana ar tukšu sarakstu, izmantojot operatoru !=
Norādītais Python kods pārbauda, vai saraksts lis1> ir tukšs vai neizmanto if> paziņojums, apgalvojums. Ja saraksts nav tukšs, tas tiek izdrukāts Saraksts nav tukšs; pretējā gadījumā tiek drukāts tukšs saraksts. Tas tiek panākts, salīdzinot sarakstu ar tukšu sarakstu, izmantojot nevienlīdzības operatoru !=> . Konkrētajā gadījumā, kur lis1> tiek inicializēts kā tukšs saraksts, nosacījums tiek novērtēts kā nepatiess, kā rezultātā tiek iegūts tukšs saraksts.
Python3
# Python code to check for empty list> lis1> => []> if> lis1!> => []:> > print> (> 'The list is not empty'> )> else> :> > print> (> 'Empty List'> )> |
Izvade
Empty List
Dotā saraksta salīdzināšana ar tukšo sarakstu, izmantojot == operatoru
Nākamais if> paziņojumā novērtēts, vai lis1> ir vienāds ar tukšu sarakstu, ko apzīmē ar []> . Ja nosacījums ir patiess, kas nozīmē, ka saraksts patiešām ir tukšs, programma konsolē izdrukā tukšo sarakstu. Ja nosacījums ir nepatiess, norādot, ka saraksts nav tukšs, programma tā vietā drukā Saraksts nav tukšs.
Python3
# Python code to check for empty list> lis1> => []> if> lis1> => => []:> > print> (> 'Empty List'> )> else> :> > print> (> 'The list is not empty'> )> |
Izvade
Empty List
Šīs pieejas priekšrocība ir tā, ka tā ir kodolīga un viegli saprotama. Tas parasti ir arī ātrāks nekā citas pieejas, kas ietver saraksta elementu cilpu.
Pārbaudiet tukšo sarakstu, izmantojot mēģināt/izņemot
Lai pārbaudītu, vai saraksts ir tukšs vai neizmanto try/izņemot Python, varat izmantot šādu algoritmu:
Algoritms:
Inicializējiet sarakstu. Mēģiniet piekļūt pirmajam saraksta elementam, izmantojot lst[0]. Ja iepriekš minētā darbība rada IndexError izņēmumu, saraksts ir tukšs. Pretējā gadījumā saraksts nav tukšs. Rīkojieties ar izņēmumu, izdrukājot tukšu sarakstu. Šeit ir norādīta iepriekš minētā algoritma Python koda ieviešana:
Python3
# Python code to check for empty list> lst> => []> > try> :> > lst[> 0> ]> > print> (> 'The list is not empty'> )> except> IndexError:> > print> (> 'Empty List'> )> |
Izvade
Empty List
Laika sarežģītība: O(1), jo piekļuve pirmajam saraksta elementam prasa pastāvīgu laiku.
Palīgtelpa: O(1), jo mēs neizmantojam papildu vietu šīs darbības veikšanai.
Pārbaudiet tukšo sarakstu, izmantojot modulis Numpy
1. piemērs: Ja mums ir NumPy masīvs, tad pareizā metode visos gadījumos ir izmantot if .Izmērs . Šis izmērs pārbauda masīvu lielumu un attiecīgi atgriež True vai False. Piemērs:
Python3
# Numpythonic way to check emptiness> # Use of size> import> numpy> > def> Enquiry(lis1):> > return> (numpy.array(lis1))> > > # Driver Code> lis1> => []> if> Enquiry(lis1).size:> > print> (> 'Not Empty'> )> else> :> > print> (> 'Empty'> )> |
Izvade:
Empty
2. piemērs : šajā piemērā parādīts otrs gadījums ar vienu 0 elementu, kas iepriekšējos gadījumos neizdevās.
Python3
import> numpy> > def> Enquiry(lis1):> > return> (numpy.array(lis1))> > # Driver Code> lis1> => [> 0> , ]> if> Enquiry(lis1).size:> > print> (> 'Not Empty'> )> else> :> > print> (> 'Empty'> )> |
Izvade:
Not Empty