Zpětná iterace v Pythonu
Iterace čísel se provádí technikami smyček v Pythonu. Mnoho technik v Pythonu usnadňuje smyčkování. Někdy jsme povinni provést smyčku pozpátku a mít k tomu krátké ruce může být docela užitečné. Pojďme diskutovat o určitých způsobech, jak to lze provést Krajta .
Co je zpětná iterace?
Zpětná iterace v Pythonu odkazuje na proces opakování sekvence nebo kolekce v opačném pořadí, kdy se pohybuje od posledního prvku k prvnímu. To je často užitečné, když potřebujeme přistupovat k prvkům v opačném pořadí, než je jejich původní uspořádání. Python poskytuje různé mechanismy pro zpětnou iteraci, jako je použití negativního indexování nebo využití vestavěných funkcí jako reversed()> .
Zpětná iterace v Pythonu
V Pythonu existují různé metody zpětné iterace, zde vysvětlujeme některé obecně používané metody, které používáme pro zpětnou iteraci v Pythonu, které následují.
- Použití metody reversed().
- Použití rozsahu (N, -1, -1)
- Použití syntaxe řezu
- Použití smyčky While
- Pomocí funkce join().
Použití reversed() Metoda
Nejjednodušší způsob, jak to provést, je použít obrácenou funkci pro smyčku for a iterace začne probíhat ze zadní strany než konvenční počítání.
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ýstup:
The reversed numbers are : 6 5 4 3 2 1 0
Časová složitost: O(N), kde N je hodnota N
Pomocný prostor: O(1) jako konstantní prostor se používá pro inicializaci a tisk.
Použití rozsahu (N, -1, -1)
Tento konkrétní úkol lze také provést pomocí funkce konvenčního rozsahu, která, pokud je poskytnuta se třetím argumentem, provede přeskočení a druhý argument se použije pro začátek 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ýstup:
The reversed numbers are : 6 5 4 3 2 1 0
Časová složitost: NA)
Pomocný prostor: O(1)
Použití syntaxe řezu
Tento konkrétní úkol lze také provést pomocí syntaxe řezu, která se používá pro obrácení seznamu. Použili jsme to pro obrácení třídy rozsahu ve smyčce for a poté jsme provedli zpětnou iteraci.
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ýstup:
The reversed numbers are : 6 5 4 3 2 1 0
Použití smyčky While
Zde kód demonstruje zpětnou iteraci v Pythonu, počínaje inicializovaným číslem `N` (6) a tiskne čísla v opačném pořadí až do 0 pomocí 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ýstup:
The reversed numbers are : 6 5 4 3 2 1 0
Pomocí funkce join().
Zde kód provádí zpětnou iteraci v Pythonu, počínaje daným vstupním číslem N> (6). Vytváří řetězec reversed_str> zřetězením obrácených čísel z N> 0, oddělené mezerami. The join()> Funkce se používá k převodu obráceného rozsahu čísel na řetězec a výsledek je vytištěn.
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ýstup:
The reversed numbers are : 6 5 4 3 2 1 0
Časová složitost: O(N): kde N je hodnota daného vstupu. Obrácený rozsah je generován v časové složitosti O(N) a převod každého čísla na řetězec pomocí funkce map() vyžaduje časovou složitost O(N). Funkce join() také vyžaduje časovou složitost O(N) ke zřetězení obrácených čísel jako řetězce.
Pomocný prostor: O(N) : kde N je hodnota daného vstupu. Obrácený rozsah čísel a zřetězený řetězec obrácených čísel zabírají O(N) místo v paměti.