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>=> )> |
java srovnatelná
>
>
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
linux upravit soubor
# 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>=>)> |
>
podřetězec řetězec java
>
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 číslemN>(6). Vytváří řetězecreversed_str>zřetězením obrácených čísel zN>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
ne
# 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.