Strengkomprimering i Python

Strengkomprimering i Python
In-Memory Database Management Systems (IMDBMS) kan brukes til å komprimere nettadresser og meldinger, blant annet. La oss se på strengkomprimering mer dybde. Strengkomprimering ved bruk av Python -programmeringsspråket vil være diskusjonsemnet i denne artikkelen.

I Python refererer strengkompresjon til prosessen med å forkorte en stor streng. Strengens opprinnelige hensikt vil aldri bli endret ved å komprimere den. Vi bruker strengkomprimering for å gjøre denne url kortere. Selv om lengden på nettadressen endres når den er komprimert, vil URL -en du får etter forkortelse føre oss til det samme visuelle hvis du legger den inn i Google.

Betydningen av strengkomprimering i Python

I Python er det grunnleggende målet med strengkomprimering å spare så mye minne som mulig. Dette er fordi minnekapasitet nødvendiggjør sysselsetting av flere ressurser, som igjen er ganske kostbar. Nå for tiden forventer alle raskhet i det arbeidet de fullfører. Datakomprimeringen eller strengen vil ta mindre tid å behandle og vil gi utgangen så snart som mulig.

Den har også hurtigleste operasjoner, noe som betyr at hvis en tekst er komprimert, vil brukeren måtte lese den på kortere tid. Som et resultat vil strengkomprimering spare minne og behandlingstid, samt tiden det tar for en bruker å lese en melding.

Algoritme for strengkompresjon i python

Vi har nettopp gått over algoritmen for å komprimere en bestemt lengde på inngangsstrengen. Strengen skal komprimeres slik at kontinuerlig repetisjon av tegn blir erstattet med tegnet, og deretter blir antallet kontinuerlige repetisjoner fulgt av tegnet.

  • Velg det første tegnet i den gitte strengen (STR).
  • Til den komprimerte strengen, legg den til.
  • Legg totalen til den komprimerte strengen hvis antall påfølgende opptredener av karakteren er mer enn 1. Velg neste tegn og gjenta prosedyrene ovenfor til Str er fullført.

Eksempel 1: Komprimert en streng ved å bruke en strengkompresjonsalgoritme i Python

Vi har brukt ovennevnte algoritme i det gitte kodeeksemplet. Den gitte strengen må komprimeres ved å bruke algoritmen. Koding av kjørelengde er betegnelsen for denne typen komprimeringer. For en bedre forståelse, la oss sette strengkompresjonsalgoritmen til kode.

Her har vi en funksjon som er definert som "komprimering.”Vi har bestått en variabel“ MyString ”som et argument. Vi har bygget en variabel "indeks" inne i funksjonen, som opprinnelig holdes på null. Denne variabelen "indeksen" vil ta indeksverdien til den gitte strengen for å bli komprimert. Etter det initialiserte vi en tom streng og tildelte den til variabelen “comprimert_string”. Ta deretter lengden på strengen ved å påkalle lengdefunksjonen over en "myString" i variabelen "str_len.”

Nå har vi en stund der tellingen er lik "1" hvis lengden på strengen ikke samsvarer med strengindeksposisjonen. Igjen har vi en stund betingelse for karakter repetisjon inne i den komprimerte strengen. Ved å bruke IF-Else-tilstanden, hvis tegnet blir funnet gjentatt fortløpende, vil tellingen bli økt til komprimert streng. Ellers teller vi ikke et eneste tegn i strengen.

Strengen er definert og initialisert på slutten av koden før utskriftsuttrykket. Innenfor utskriftsuttrykket har vi skrevet ut komprimert streng.

Utgangen fra den gitte strengen komprimeres som følger.

Eksempel 2: Komprimert en streng ved å bruke et Iterertools -bibliotek i Python

Python -modul Iterertools lar deg sykle over datastrukturer. Denne typen datastruktur blir også referert til som iterables. Denne modulen tilbyr en minnebesparende og rask måte å lage iterator algebra.

Ved å bruke iterertools i følgende kode, har vi importert "takeway" og "dropwhile.”Disse er definert i koden. Etter det har vi definert en funksjon som er representert som “komprimering.”Funksjonen kalles med strengen som må komprimeres som et argument.

Ettersom vi har en "if" -tilstand, er returen "hvis ikke streng" -linjen den samme som Guardian -tilstanden i den første algoritmen. Resonnementet utføres via andre returverdi. Sløyfen brukes som en gang i gang. Dette vil sykle over tegnene i strengargumentet til karakteren tilsvarer strengargumentets første karakter (streng [0]).

I denne kjeden er listegeneratoren neste funksjon. Generatoren returnerer bare en ting om gangen, mens listefunksjonen henter dem alle. Etter det er halen laget med dråpe -funksjonen, noe som reduserer antall elementer som er tatt av “hodet.”Join -funksjonen blir sammen med listenes elementer i en streng, som er gitt som en ny parameter til iterasjonssyklusen. Iterasjonen vil stoppe når alle tegnene i strengen er fjernet og erstattet med en tom streng.

Utgangen vi fikk fra Iterertools -modulen er som følger.

Eksempel 3: Komprimert en streng ved å bruke en enkel sløyfe i Python

Her bruker vi en enkel sløyfesyklus for å komprimere strengen i Python. Vi har laget en tom streng i variabelen “String1”. Den nye strengen er også opprettet som "String2", som har en streng. Deretter har vi en telling som er lik "1". For -loopen brukes, som har rekkevidden for den gitte strengen. Hvis tilstanden er for tegnene som gjentas kontinuerlig i strengen, vil bli økt av tellingen. Ellers vil andre leddet bli utført.

Utgangen som genereres fra ovennevnte kode er som følger.

Konklusjon

Jeg håper du lærte mye av dagens omfattende Python String -komprimeringsartikkel. Vi har gått gjennom hvorfor strengkomprimering er nødvendig for det virkelige liv. Vi fikk også en grundig forståelse av algoritmen som skal brukes, samt en klar uttalelse av koden med og uten biblioteket.