Spätná iterácia v Pythone
Iterácia čísel sa vykonáva technikami cyklovania v Pythone. Mnoho techník v Pythone uľahčuje slučkovanie. Niekedy sa od nás vyžaduje, aby sme opakovali slučku a krátke ruky na to môžu byť celkom užitočné. Poďme diskutovať o určitých spôsoboch, ako to možno urobiť Python .
Čo je to spätná iterácia?
Spätná iterácia v Pythone sa týka procesu iterácie cez sekvenciu alebo kolekciu v opačnom poradí, pričom sa pohybuje od posledného prvku k prvému. To je často užitočné, keď potrebujeme pristupovať k prvkom v opačnom poradí, ako je ich pôvodné usporiadanie. Python poskytuje rôzne mechanizmy pre spätnú iteráciu, ako je použitie negatívneho indexovania alebo využitie vstavaných funkcií ako reversed()> .
Spätná iterácia v Pythone
V Pythone existujú rôzne metódy spätnej iterácie, tu vysvetľujeme niektoré všeobecne používané metódy, ktoré používame na spätnú iteráciu v Pythone, ktoré nasledujú.
- Použitie reverznej () metódy
- Použitie rozsahu (N, -1, -1)
- Použitie syntaxe rezu
- Použitie slučky While
- Pomocou funkcie join().
Použitie reverse() Metóda
Najjednoduchší spôsob, ako to urobiť, je použiť obrátenú funkciu pre cyklus for a iterácia sa začne vyskytovať zo zadnej strany ako konvenčné počítanie.
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> => ' '> )> |
Výkon:
The reversed numbers are : 6 5 4 3 2 1 0
Časová zložitosť: O(N), kde N je hodnota N
Pomocný priestor: O(1) ako konštantný priestor sa používa na inicializáciu a tlač.
Použitie rozsahu (N, -1, -1)
Túto konkrétnu úlohu možno vykonať aj pomocou funkcie konvenčného rozsahu, ktorá, ak je poskytnutá s tretím argumentom, vykoná preskočenie a druhý argument sa použije na začatie odzadu.
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> => ' '> )> |
Výkon:
The reversed numbers are : 6 5 4 3 2 1 0
Časová zložitosť: O(N)
Pomocný priestor: O(1)
Použitie syntaxe rezu
Túto konkrétnu úlohu možno vykonať aj pomocou syntaxe rezu, ktorá sa používa na obrátenie zoznamu. Použili sme ho na obrátenie triedy rozsahu v slučke for a potom sme vykonali spätnú iteráciu.
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> => ' '> )> |
Výkon:
The reversed numbers are : 6 5 4 3 2 1 0
Použitie slučky While
Tu kód demonštruje spätnú iteráciu v Pythone, počnúc inicializovaným číslom `N` (6) a tlačenie čísel v opačnom poradí až po 0 pomocou cyklu while.
Python3
# Initializing number from which> # iteration begins> N> => 6> print> (> 'The reversed numbers are : '> , end> => '')> while> (N>> => 0> ):> > print> (N, end> => ' '> )> > N> -> => 1> |
Výkon:
The reversed numbers are : 6 5 4 3 2 1 0
Pomocou funkcie join().
Tu kód vykoná spätnú iteráciu v Pythone, začínajúc od daného vstupného čísla N> (6). Vytvára reťazec reversed_str> zreťazením obrátených čísel z N> 0 oddelené medzerami. The join()> funkcia sa používa na konverziu obráteného rozsahu čísel na reťazec a výsledok sa vytlačí.
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)> |
Výkon:
The reversed numbers are : 6 5 4 3 2 1 0
Časová zložitosť: O(N): kde N je hodnota daného vstupu. Obrátený rozsah sa generuje v časovej zložitosti O(N) a prevod každého čísla na reťazec pomocou funkcie map() vyžaduje časovú zložitosť O(N). Funkcia join() tiež vyžaduje časovú zložitosť O(N) na zreťazenie obrátených čísel ako reťazec.
Pomocný priestor: O(N) : kde N je hodnota daného vstupu. Obrátený rozsah čísel a zreťazený reťazec obrátených čísel zaberajú O(N) miesto v pamäti.