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>=> ' '>)> |
algoritem binarnega iskanja
>
>
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:
omrežni sloj v računalniških omrežjih
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>=>' '>)> |
>
ima naslednjo javo
>
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 številkoN>(6). Ustvari nizreversed_str>z veriženjem obrnjenih števil izN>0, ločeni s presledki. The join()> se uporablja za pretvorbo obrnjenega obsega števil v niz in rezultat se natisne.
Python3
oštevilčite abecedo
# 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.