Bakover iterasjon i Python

Iterasjonen av tall gjøres ved løkketeknikker i Python. Mange teknikker i Python forenkler looping. Noen ganger er vi pålagt å utføre looping bakover, og det kan være ganske nyttig å ha korte hender for å gjøre det. La oss diskutere visse måter dette kan gjøres på Python .

Hva er bakover iterasjon?

Bakover iterasjon i Python refererer til prosessen med å iterere gjennom en sekvens eller samling i omvendt rekkefølge, flytte fra det siste elementet til det første. Dette er ofte nyttig når vi trenger tilgang til elementer i motsatt rekkefølge av deres opprinnelige arrangement. Python tilbyr ulike mekanismer for bakover iterasjon, for eksempel bruk av negativ indeksering eller bruk av innebygde funksjoner som reversed()> .

Bakover iterasjon i Python

Det er forskjellige metoder for bakover iterasjon i Python, her forklarer vi noen generelt brukte metoder som vi bruker for bakover iterasjon i Python som følger.

  • Bruker reversed() metode
  • Bruker område(N, -1, -1)
  • Bruke Slice Syntax
  • Bruke While loop
  • Bruke join()-funksjonen

Bruke reversed() Metode

Den enkleste måten å utføre dette på er å bruke den reverserte funksjonen for for-løkken, og iterasjonen vil begynne å skje fra baksiden enn den konvensjonelle tellingen.

Python3




# Initializing number from which> # iteration begins> N> => 6> # using reversed() to perform the back iteration> print> (> 'The reversed numbers are : '> , end> => '')> for> num> in> reversed> (> range> (N> +> 1> )) :> > print> (num, end> => ' '> )>

Produksjon:

The reversed numbers are : 6 5 4 3 2 1 0 

Tidskompleksitet: O(N) hvor N er verdien av N
Ekstra plass: O(1) som konstant mellomrom brukes til initialisering og utskrift.

Bruker område(N, -1, -1)

Denne spesielle oppgaven kan også utføres ved å bruke den konvensjonelle rekkeviddefunksjonen som, hvis den leveres med det tredje argumentet, utfører hopp og det andre argumentet brukes til å starte bakover.

Python3




# Initializing number from which> # iteration begins> N> => 6> # without using reversed() to perform the back iteration> print> (> 'The reversed numbers are : '> , end> => '')> for> num> in> range> (N,> -> 1> ,> -> 1> ) :> > print> (num, end> => ' '> )>

Produksjon:

The reversed numbers are : 6 5 4 3 2 1 0 

Tidskompleksitet: PÅ)
Ekstra plass: O(1)

Bruke Slice Syntax

Denne spesielle oppgaven kan også utføres ved å bruke skivesyntaksen som brukes til å snu listen. Vi brukte den for å reversere rekkeviddeklassen i for-løkken, så utførte vi bakover-iterasjonen.

Python3




# # Initializing number from which> # # iteration begins> N> => 6> # Using slice syntax perform the backward iteration> k> => range> (N> +> 1> )[::> -> 1> ]> print> (> 'The reversed numbers are : '> ,end> => '')> for> i> in> k:> > print> (i, end> => ' '> )>

Produksjon:

The reversed numbers are : 6 5 4 3 2 1 0 

Bruke While loop

Her demonstrerer koden bakover iterasjon i Python, starter fra det initialiserte tallet 'N' (6) og skriver ut tallene i omvendt rekkefølge til 0 ved å bruke en while-løkke.

Python3




# Initializing number from which> # iteration begins> N> => 6> print> (> 'The reversed numbers are : '> , end> => '')> while> (N>> => 0> ):> > print> (N, end> => ' '> )> > N> -> => 1>

Produksjon:

The reversed numbers are : 6 5 4 3 2 1 0 

Bruke join()-funksjonen

Her utfører koden bakover iterasjon i Python, med utgangspunkt i det gitte inngangsnummeret N> (6). Det lager en streng reversed_str> ved å sette sammen de omvendte tallene fra N> 0, atskilt med mellomrom. De join()> funksjonen brukes til å konvertere det omvendte tallområdet til en streng, og resultatet skrives ut.

Python3




# Given input> N> => 6> # Concatenating reversed numbers as a string using join() function> reversed_str> => ' '> .join(> map> (> str> ,> reversed> (> range> (N> +> 1> ))))> # Printing the reversed numbers as a string> print> (> 'The reversed numbers are :'> , reversed_str)>

Produksjon:

The reversed numbers are : 6 5 4 3 2 1 0 

Tidskompleksitet: O(N): hvor N er verdien av den gitte inngangen. Det reverserte området genereres i O(N)-tidskompleksitet og å konvertere hvert tall til en streng ved å bruke map()-funksjonen krever O(N)-tidskompleksitet. Join()-funksjonen krever også O(N)-tidskompleksitet for å sette sammen de reverserte tallene som en streng.

Hjelpeområde: O(N) : hvor N er verdien av den gitte inngangen. Det omvendte tallområdet og den sammenkjedede strengen med omvendte tall opptar O(N) plass i minnet.