Skaičių iteracija atliekama naudojant Python kilpos metodus. Daugelis Python metodų palengvina kilpos kūrimą. Kartais iš mūsų reikalaujama atlikti kilpą atgal, o trumpos rankos tai gali būti labai naudinga. Aptarkime tam tikrus būdus, kuriais tai galima padaryti Python .
Kas yra atgalinė iteracija?
Atgalinė iteracija Python reiškia kartojimo procesą per seką arba rinkinį atvirkštine tvarka, pereinant nuo paskutinio elemento prie pirmojo. Tai dažnai naudinga, kai turime pasiekti elementus priešinga jų pradinio išdėstymo tvarka. Python siūlo įvairius atgalinio iteracijos mechanizmus, pvz., naudojant neigiamą indeksavimą arba naudojant įmontuotas funkcijas, pvz. reversed()> .
Atgalinė iteracija Python
Python yra įvairių atgalinio iteracijos metodų, čia paaiškiname kai kuriuos dažniausiai naudojamus metodus, kuriuos naudojame atgalinei iteracijai Python.
- Naudojant atvirkštinį() metodą
- Naudojant diapazoną (N, -1, -1)
- Pjūvio sintaksės naudojimas
- Naudojimasis Nors kilpa
- Funkcijos prisijungimas () naudojimas
Naudojant atvirkštinį () Metodas
Paprasčiausias būdas tai atlikti yra naudoti atvirkštinę for ciklo funkciją ir iteracija prasidės iš galinės pusės, nei skaičiuojant įprastai.
Python3
java konvertuoti eilutę į int
# 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>=> ' '>)> |
>
>
Išvestis:
The reversed numbers are : 6 5 4 3 2 1 0>
Laiko sudėtingumas: O(N), kur N yra N reikšmė
Pagalbinė erdvė: O(1) kaip pastovi erdvė naudojama inicijavimui ir spausdinimui.
Naudojant diapazoną (N, -1, -1)
Šią konkrečią užduotį taip pat galima atlikti naudojant įprastą diapazono funkciją, kuri, jei pateikiama su trečiuoju argumentu, atlieka praleidimą, o antrasis argumentas naudojamas pradėti nuo atgal.
Python3
mvc java
# 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>=> ' '>)> |
>
>
Išvestis:
The reversed numbers are : 6 5 4 3 2 1 0>
Laiko sudėtingumas: O(N)
Pagalbinė erdvė: O(1)
Pjūvio sintaksės naudojimas
Šią konkrečią užduotį taip pat galima atlikti naudojant skilties sintaksę, kuri naudojama sąrašui apversti. Naudojome jį norėdami pakeisti diapazono klasę for cikle, tada atlikome atgalinę iteraciją.
Python3
linux paleisti komandą
# # 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>=>' '>)> |
>
>
Išvestis:
The reversed numbers are : 6 5 4 3 2 1 0>
Naudojimasis Nors kilpa
Čia kodas demonstruoja atgalinę iteraciją Python, pradedant nuo inicijuoto skaičiaus `N` (6) ir spausdinant skaičius atvirkštine tvarka iki 0 naudojant while kilpą.
Python3
eilutėje java
# Initializing number from which> # iteration begins> N>=> 6> print>(>'The reversed numbers are : '>, end>=>'')> while>(N>>>):> >print>(N, end>=>' '>)> >N>->=> 1> |
>
>
Išvestis:
The reversed numbers are : 6 5 4 3 2 1 0>
Funkcijos prisijungimas () naudojimas
Čia kodas atlieka atgalinę iteraciją Python, pradedant nuo nurodyto įvesties skaičiausN>(6). Tai sukuria eilutęreversed_str>sujungiant atvirkštinius skaičius išN>0, atskirti tarpais. The join()> Funkcija naudojama atvirkštiniam skaičių diapazonui konvertuoti į eilutę, o rezultatas išspausdinamas.
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)> |
>
javascript atsisiuntimas
>
Išvestis:
The reversed numbers are : 6 5 4 3 2 1 0>
Laiko sudėtingumas: O(N): kur N yra nurodytos įvesties reikšmė. Atvirkštinis diapazonas generuojamas O(N) laiko sudėtingumu, o konvertuojant kiekvieną skaičių į eilutę naudojant map() funkciją, reikia O(N) laiko sudėtingumo. Funkcija join() taip pat reikalauja O(N) laiko sudėtingumo, kad atvirkštiniai skaičiai būtų sujungti į eilutę.
Pagalbinė erdvė: O(N) : kur N yra nurodytos įvesties reikšmė. Atvirkštinė skaičių sritis ir sujungta atvirkštinių skaičių eilutė užima O(N) vietos atmintyje.