Povratna iteracija v Pythonu

Ponavljanje števil poteka s tehnikami zanke v Pythonu. Številne tehnike v Pythonu olajšajo zanke. Včasih moramo izvesti zanko nazaj in kratke roke so za to lahko zelo koristne. Razpravljajmo o nekaterih načinih, na katere je to mogoče storiti Python .

Kaj je povratna iteracija?

Ponavljanje nazaj v Pythonu se nanaša na postopek ponavljanja skozi zaporedje ali zbirko v obratnem vrstnem redu, pri čemer se premika od zadnjega elementa k prvemu. To je pogosto uporabno, ko moramo dostopati do elementov v nasprotnem vrstnem redu od njihove prvotne razporeditve. Python nudi različne mehanizme za povratno iteracijo, kot je uporaba negativnega indeksiranja ali uporaba vgrajenih funkcij, kot je reversed()> .

Iteracija nazaj v Pythonu

V Pythonu obstajajo različne metode povratne iteracije, tukaj razlagamo nekatere splošno uporabljene metode, ki jih uporabljamo za povratno iteracijo v Pythonu.

  • Uporaba metode reversed().
  • Uporaba obsega (N, -1, -1)
  • Uporaba sintakse rezine
  • Uporaba zanke While
  • Uporaba funkcije join().

Uporaba reversed() Metoda

Najenostavnejši način za to je uporaba obrnjene funkcije za zanko for in ponovitev se bo začela izvajati z zadnje strani kot običajno štetje.

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> => ' '> )>

Izhod:

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

Časovna zahtevnost: O(N), kjer je N vrednost N
Pomožni prostor: O(1) kot stalni prostor se uporablja za inicializacijo in tiskanje.

Uporaba obsega (N, -1, -1)

To posebno nalogo je mogoče izvesti tudi z uporabo običajne funkcije obsega, ki, če je na voljo s tretjim argumentom, izvede preskok, drugi argument pa se uporabi za začetek od nazaj.

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> => ' '> )>

Izhod:

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

Časovna zahtevnost: O(N)
Pomožni prostor: O(1)

Uporaba sintakse rezine

To posebno nalogo je mogoče izvesti tudi s sintakso rezine, ki se uporablja za obračanje seznama. Uporabili smo ga za obračanje razreda obsega v zanki for, nato pa smo izvedli iteracijo nazaj.

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> => ' '> )>

Izhod:

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

Uporaba zanke While

Tukaj koda prikazuje iteracijo nazaj v Pythonu, začenši od inicializirane številke `N` (6) in tiskanje števil v obratnem vrstnem redu do 0 z uporabo zanke while.

Python3




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

Izhod:

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

Uporaba funkcije join().

Tukaj koda izvaja iteracijo nazaj v Pythonu, začenši z dano vhodno številko N> (6). Ustvari niz reversed_str> z veriženjem obrnjenih števil iz N> 0, ločeni s presledki. The join()> se uporablja za pretvorbo obrnjenega obsega števil v niz in rezultat se natisne.

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)>

Izhod:

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

Časovna zahtevnost: O(N): kjer je N vrednost danega vnosa. Obrnjeni obseg se ustvari v O(N) časovni zapletenosti in pretvorba vsakega števila v niz s funkcijo map() zahteva O(N) časovno zapletenost. Funkcija join() prav tako zahteva O(N) časovno zapletenost, da združi obrnjena števila v niz.

Pomožni prostor: O(N) : kjer je N vrednost danega vhoda. Obrnjeno območje števil in povezani niz obrnjenih števil zasedata O(N) prostora v pomnilniku.