Python fjerner tomme strenger fra listen

Python fjerner tomme strenger fra listen
Vi kan komme over en bekymring i Python -programmering der vi har en liste over strenger. Strenglisten inneholder imidlertid nullverdier eller tomme strenger. Selv noen verdier har bare hvite rom i seg. Derfor må nullverdiene eller tomme strengene fjernes fra listen.

En tom streng i Python er et dataobjekt, selv om det har en falsk verdi. Det er fremdeles et dataelement som tar opp minnet. Bruke en tom streng i en Python -liste som andre dataoppføringer legger til en indeksverdi til listen. Ofte, i dataanalyse, er tomme verdier som et tomt sett bare forstyrrelser som må slettes fra en datastruktur som en liste.

Med noen enkle eksempler vil vi oppdage den mest effektive tilnærmingen til å slette nullelementer fra en liste i Python i denne artikkelen.

Eksempel 1: Bruke fjerningsfunksjonen for å eliminere en tom streng fra en relevant liste over strenger

Denne tilnærmingen er ganske grunnleggende og ikke foreslått for bruk. Det kan imidlertid brukes til dette formålet. Generelt eliminerer fjerne () den første forekomsten av en tom streng, og vi gjentar denne operasjonen til ingen tom tekst er oppdaget i listen. Fjern () -metoden tar bare ett argument og eliminerer det angitte elementet fra listen.

Kildekoden gir oss en listerepresentasjon. Listen er tilordnet med navnet "List" og inneholder strengverdiene med de tomme strengverdiene. Strengen skrives ut for å vise de originale strengverdiene. Deretter kalte vi "mens" -erklæringen for å sjekke om listen inneholdt en tom streng. Hvis en tom streng finnes i listen, vil fjerne metoden fjerne strengen. Mens sløyfesykluser over listen til hver tomme streng er fjernet. Etter det vil resultatet av fjerne () metoden skrives ut.

Liste = ["", "ha", "", "a", "god", "dag"]
print ("Liste før:"+ str (liste))
mens ("" i listen):
Liste.fjerne("")
print ("Liste etter:"+ str (liste))

Resultatet av den opprinnelige strengen og etter fjerning av den tomme strengen fra listen er som følger:

Eksempel 2: Bruke listeforståelsesmetoden for å fjerne en tom streng fra en relevant liste over strenger

Listeforståelse kan også slette nullstrenger fra en samling av strenger. En listeforståelse omfatter et uttrykk, en for-loop og en ikke-kompulserende for-loop eller hvis tilstand, omgitt av firkantede parenteser []. Det bekrefter bare om strengen ikke er null og skaper listen igjen blant alle strenger som ikke engang er tomme, noe som er en enklere og bedre teknikk for å fjerne alle tomme strenger.

Vi definerte først en liste som "myList" som inneholder strengverdier. Listen inneholder også tomme strenger som vil bli skrevet ut i vår første utskriftserklæring i koden. Etter det har vi en listeforståelsesmetode for en "myList.”Her itererer listeforståelsen gjennom en for loop og legger til ikke-tom strengverdier i listen.

Mylist = ["", "Mango", "Apple", "Grapes"]
print ("liste:"+ str (myList))
MyList = [Val for Val i MyList If Val]
Print ("Modified List:"+ Str (MyList))

Følgende er utgangen for listen med tomme strengverdier og ikke-tom strengliste.

Eksempel 3: Bruke sammenføynings- og delingsmetoden for å fjerne en tom streng fra en relevant liste over strenger

Join () og Split () -funksjonene kan også brukes til å utføre denne oppgaven. Join () -metoden lar deg lage strenger ut av iterable objekter på en rekke måter. Den bruker en streng for å koble hvert medlem av en iterable. Å dele en streng ved en definert separator gir en liste over strenger. Vi kombinerer først alle strengene for å fjerne tomme mellomrom, og bryter dem deretter inn i en liste slik at den nye listen ikke har noen tomme strenger.

Vi har en samling alfabeter og tomme strenger. Listen er tilordnet en variabel, “Listis.”Først har vi skrevet ut den ovennevnte listen over strenger. Deretter kalles sammenføynings- og delte metoder over "listen" for å utføre fjerningsoperasjonen. Den modifiserte strengen vil bli skrevet ut på skjermen etter denne operasjonen.

Listis = ["a", "b", "c", "d", "e", "", "f"]
Print ("Liste er:"+ Str (listis))
Listis = ".Bli med (liste).dele()
PRINT ("Liste er endret:"+ Str (listis))

Join and Split -tilnærmingen gir følgende resultater.

Eksempel 4: Bruke filtermetoden for å lage en liste over lister i Python

Den mest enkle og tidseffektive tilnærmingen for å oppnå denne operasjonen er å bruke en filter () -metode. Denne strategien anbefales på det sterkeste når du arbeider med enorme maskinlæringsdatasett som kan inneholde tomme strenger. Filter () -metoden gir en iterator der elementene behandles gjennom en prosess for å avgjøre om de er akseptable eller ikke.

Vi har initialisert listen over tomme og ikke-tomme strenger i det første trinnet i koden nedenfor. Listen er representert med navnet “Strlist.”Listen vises med utskriftsfunksjonen som brukes over listen. Filtermetoden brukes her på “Strlist.”Det første argumentet vi har bestått i filtermetoden er“ Ingen ”, som fjerner alle de falske vurderte verdiene fra listen. Det andre argumentet som er gitt er "strlist", som skaper en iterator ut av listeelementene som filtermetoden returnerer sann.

Strlist = ["man", "tirsdag", "ons", "", "", "torsdag", "fre", "", "", "sat", "", "sol"]
Print ("Liste er:" + Str (strlist))
Strlist = liste (filter (ingen, strlist))
Print ("Nå er listen:"+ str (strlist))

Etter filtermetodeoperasjonen inneholder listen over strenger bare ikke-tom strengverdier, som sett i resultatet nedenfor.

Konklusjon

I Python dekket du fire forskjellige metoder for å fjerne den tomme strengen fra en relevant liste over strenger. Den eneste avstandsstrengen har blitt tolket som en tom streng her; Dette er imidlertid ikke tilfelle. Vi behandlet ingen konsept av verdsstreng som et tomt sett utelukkende for dataanalyse. Det antas at dette vil oppmuntre andre til å kode i Python.