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.