5 způsobů, jak obrátit rozsah v Pythonu: Průvodce krok za krokem

Obrácení rozsahu v Pythonu je užitečná dovednost pro programátory, když potřebují manipulovat s pořadím sekvencí nebo iterovat prvky v nekonvenčním pořadí. Python nabízí několik vestavěných funkcí a technik, které vývojářům umožňují bez námahy obrátit rozsah.

Funkce range() v Pythonu je užitečná při generování posloupnosti čísel v daném rozsahu. Začleněním zpětných technik pomocí funkcí jako reversed() nebo přidáním záporného kroku do samotné funkce range() můžeme efektivně vytvořit obrácený rozsah.

V tomto článku se blíže podíváme na každou metodu, včetně použití funkce rozsahu se záporným krokem, použití obrácené funkce a dalších alternativ.

Uvedeme také několik příkladů pro předvedení implementace a poskytneme jasnou představu o obrácení rozsahu v .

Pojďme se do toho ponořit!

5 způsobů, jak obrátit rozsah v Pythonu: Průvodce krok za krokem

Obsah

Jak vytvořit jednoduchý rozsah v Pythonu

Jednoduchý rozsah můžete vytvořit pomocí vestavěné funkce range() v .

Funkce range() generuje řadu čísel, která se obvykle používá pro opakování určitého počtu opakování v cyklech for . Může mít jeden, dva nebo tři parametry:

  • range(stop) : Vytvoří rozsah čísel od 0 až po koncovou hodnotu, ale bez ní.

  • range(start, stop) : Vytvoří rozsah čísel od počáteční hodnoty až po koncovou hodnotu, ale bez ní.

  • range(start, stop, step) : Vytvoří rozsah čísel od počáteční hodnoty až po koncovou hodnotu, ale ne včetně, s vlastní hodnotou kroku mezi každým číslem.

Čísla generovaná v rozsahu jsou celá čísla a mohou být buď ve vzestupném nebo sestupném pořadí, v závislosti na poskytnutých hodnotách.

Zde je příklad vytvoření rozsahu s různými parametry:

# Range up to 5, excluding 5
simple_range = range(5)
print(list(simple_range))
# Output: [0, 1, 2, 3, 4]

# Range from 2 to 8, excluding 8
custom_start = range(2, 8)
print(list(custom_start))
# Output: [2, 3, 4, 5, 6, 7]

# Range from 1 to 10, excluding 10, with a step value of 2
step_value = range(1, 10, 2)
print(list(step_value))

5 způsobů, jak obrátit rozsah v Pythonu: Průvodce krok za krokem

Chcete-li vytvořit rozsah se sestupným pořadím, můžete použít zápornou hodnotu kroku :

# Range from 10 to 0, excluding 0, with a step value of -1
descending_range = range(10, 0, -1)
print(list(descending_range))

Výše uvedený fragment kódu vrátí:

5 způsobů, jak obrátit rozsah v Pythonu: Průvodce krok za krokem

To pokrývá základy funkce range() . V další části se podíváme na pět nejlepších způsobů, jak obrátit rozsah v Pythonu.

5 způsobů, jak obrátit rozsah v Pythonu

V této části se budeme zabývat 5 obrácením rozsahu pythonů. Diskutované reverzní metody rozsahu pythonu jsou:

  1. Použití funkcí rozsahu, seznamu a obrácených funkcí.

  2. Použití funkce rozsahu s hodnotou parametru záporného kroku.

  3. Použití funkce rozsahu a dělení seznamu.

  4. Použití funkce třídění.

  5. Pomocí NumPy.

1. Jak používat rozsah, seznam a obrácené funkce Pythonu

Tato část podrobně popisuje, jak se funkce Range(), List() a Reversed() společně používají k obrácení rozsahu Pythonu na obrácený rozsah.

  1. Funkce Range() se používá k vytvoření rozsahu Pythonu, jak je popsáno ve výše uvedené části.

  2. Funkce List() se používá k převodu rozsahu na iterovatelný objekt.

  3. Funkce Reversed() se používá k převodu iterovatelného objektu na obrácený rozsah.

Funkce reversed() je vestavěná funkce v Pythonu, která se používá k obrácení iterovatelnosti. Vyžaduje jeden parametr, iterovatelný, který má být obrácen, a vrací iterátor v obráceném pořadí.

Funkci reversed() nelze použít přímo k obrácení objektu rozsahu. Je to proto, že objekty rozsahu nelze iterovat v obvyklém smyslu.

Chcete-li obrátit rozsah, musíte jej nejprve převést na seznam nebo jiný iterovatelný objekt a pak použít funkci reversed() pro tento iterovatelný objekt.

Zde je podrobné vysvětlení, jak použít funkci reversed() k obrácení rozsahu v Pythonu:

1. Definujte objekt range pomocí funkce range() . Vytvořme například rozsah od 1 do 10:

my_range = range(1, 11)

2. Převeďte objekt range na seznam pomocí funkce list() :

my_list = list(my_range)

Funkce list () převede objekt range na seznam, což je iterovatelný objekt, který lze obrátit.

3. K obrácení seznamu použijte funkci reversed() :

reversed_list = list(reversed(my_list))

Funkce reversed() bere seznam jako argument a vrací zpětný iterátor. Abychom jej převedli zpět na seznam, opět použijeme funkci list() .

4. Nyní máte obrácený seznam uložený v proměnné reversed_list . Můžete jej použít dle libosti. Můžete například iterovat obrácený seznam pomocí smyčky:

for item in reversed_list: print(item)

Tato smyčka vytiskne prvky obráceného seznamu v opačném pořadí. Klesající čísla začínají od 10 dolů k 1.

Výstup

5 způsobů, jak obrátit rozsah v Pythonu: Průvodce krok za krokem

Stručně řečeno, chcete-li obrátit rozsah v Pythonu, musíte jej převést na seznam, použít funkci reversed() na seznamu a poté v případě potřeby převést výsledný reverzní iterátor zpět na seznam.

2. Jak používat funkci rozsahu Python s parametrem záporného kroku

original_range = range(1, 10)
reversed_range = range(max(original_range), min(original_range) - 1, -1)
for num in reversed_range:
    print(num)

Zde používáme funkci range() s hodnotou argumentu záporného kroku.

Nastavením výchozí počáteční hodnoty jako maximálního čísla v původním rozsahu a výchozí koncové hodnoty jako minimálního čísla mínus jedna zajistíme, že rozsah bude generován v opačném pořadí.

Hodnota záporného kroku -1 dává pokyn ke snížení rozsahu o jednu při každé iteraci. Funkce vrací:

5 způsobů, jak obrátit rozsah v Pythonu: Průvodce krok za krokem

3. Jak používat Python Range Function a List Slicing

original_range = range(1, 10)
reversed_range = list(original_range)[::-1]
for num in reversed_range:
    print(num)

V této metodě převedeme objekt range na seznam pomocí funkce list() a poté použijeme dělení seznamu , abychom obrátili pořadí prvků rozsahu.

Syntaxe [::-1] vytvoří řez, který začíná od konce seznamu a jde pozpátku, čímž se seznam účinně obrátí.

Výsledkem je seznam, který představuje obrácený rozsah.

5 způsobů, jak obrátit rozsah v Pythonu: Průvodce krok za krokem

4. Jak používat funkci Sorted v Pythonu

Funkci sort() lze použít s parametrem reverse=True k obrácení rozsahu. Zde je příklad:

for i in sorted(range(10), reverse=True):
    print(i)

Tím se vytvoří objekt rozsahu a pak se pořadí obrátí a čísla se vypíší v sestupném pořadí.

5. Jak používat Python NumPy

Nakonec můžete použít knihovnu NumPy ke snadnému obrácení rozsahu:

import numpy as np

numbers = np.arange(10)[::-1]
for i in numbers:
    print(i)

Tento kód jej využívá a obrací pomocí syntaxe krájení [::-1] . Výstup zobrazí čísla od 9 do 0.

V další části se podíváme na rozsah.

Aplikace a praktické příklady Python Range Reverse

Obrácení rozsahu v Pythonu má mnoho v různých doménách.

V této části probereme některé běžné případy použití a poskytneme příklady pro různé scénáře.

1. Manipulace a analýza dat

Při manipulaci a analýze dat lze techniku ​​Pythonu pro změnu rozsahu použít pro úkoly, jako je řazení dat v sestupném pořadí, vykreslování dat v obráceném chronologickém pořadí nebo dokonce filtrování dat.

S knihovnami, jako je NumPy , můžete efektivně iterovat pole, seznamy nebo matice pomocí obrácených rozsahů k provádění manipulací.

Například na základě vstupního pole dat o prodeji můžete použít obrácený rozsah k výpočtu 5 nejvyšších prodejů pomocí následujícího úryvku:

import numpy as np

sales_data = np.array([100, 200, 150, 500, 250, 50])
sorted_indices = np.argsort(sales_data)[::-1]
top_sales = sales_data[sorted_indices[:5]]

Chcete-li se dozvědět více o tom, jak načíst datovou sadu v Pythonu, podívejte se na tutoriál v následujícím videu:

2. Implementace algoritmů

Různé algoritmy, zejména při vyhledávání a řazení, mohou vyžadovat opakování prvků v opačném pořadí.

V programovacích jazycích, jako je Python, použití obrácených rozsahů usnadňuje implementaci takových algoritmů bez úpravy původních dat.

Například jako součást algoritmu, který očekává posloupnost čísel v klesajícím pořadí, můžete obrátit rozsah pomocí funkce range (start, stop, step) se záporným parametrem kroku:

for i in range(10, 0, -1):
    print(i)

Závěrečné myšlenky

Závěrem lze říci, že obrácení rozsahu v Pythonu, i když se to zpočátku může zdát trochu složité, je docela jednoduché, jakmile pochopíte tento koncept. Existují různé metody, jak toho dosáhnout, od technik dělení až po použití vestavěných funkcí, jako je `reversed()` nebo implementace smyček.

Krása Pythonu spočívá v jeho jednoduchosti a flexibilitě, kterou nabízí k přístupu k problému z více úhlů pohledu. Zvolená metoda do značné míry závisí na konkrétních požadavcích vašeho programu a vašem osobním stylu kódování.

Jak budete pokračovat v prozkoumávání Pythonu, zjistíte, že jeho bohatá sada vlastností a funkcí z něj dělá neuvěřitelně výkonný nástroj pro jakýkoli programovací úkol. Vždy si pamatujte, že klíčem ke zvládnutí Pythonu nebo jakéhokoli programovacího jazyka je důsledné procvičování a zkoumání. Šťastné kódování!


Vyhledávací pole PowerApps: Jak přidat a přizpůsobit

Vyhledávací pole PowerApps: Jak přidat a přizpůsobit

Naučte se, jak vytvořit vyhledávací pole PowerApps úplně od začátku a přizpůsobit je tak, aby odpovídalo celkovému tématu vaší aplikace.

Příklad SELECTEDVALUE DAX – Výběr kráječe sklizně

Příklad SELECTEDVALUE DAX – Výběr kráječe sklizně

Sklízejte nebo zachycujte hodnotu uvnitř míry a znovu ji použijte v jiném taktu pro dynamické výpočty pomocí SELECTEDVALUE DAX v LuckyTemplates.

Historie verzí v seznamech SharePoint

Historie verzí v seznamech SharePoint

Zjistěte, jak vám historie verzí na SharePointu může pomoci vidět vývoj určitých dat a kolika změn prošla.

Výběr barevných hexadecimálních kódů pro zprávy LuckyTemplates

Výběr barevných hexadecimálních kódů pro zprávy LuckyTemplates

Zde je nástroj pro vytváření sestav a vizuálů, výběr barevných hexadecimálních kódů, který můžete použít ke snadnému získání barev pro vaše sestavy LuckyTemplates.

Dynamický datový výřez v LuckyTemplates pomocí tabulky období

Dynamický datový výřez v LuckyTemplates pomocí tabulky období

Pomocí tabulky období můžete v přehledu snadno zobrazit časové období jako průřez. Použijte M kód k vytvoření dynamického datového výřezu v LuckyTemplates.

Tabulky proporcí a četností v Excelu

Tabulky proporcí a četností v Excelu

Chtěli jsme se ponořit do tabulek četností v Excelu a také do tabulek proporcí. Podívejte se, co to je a kdy je použít.

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Ako nainštalovať DAX Studio & Tabular Editor v LuckyTemplates

Zistite, ako stiahnuť a nainštalovať DAX Studio a Tabular Editor 3 a ako ich nakonfigurovať na použitie v LuckyTemplates a v Exceli.

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

LuckyTemplates Vizualizácia tvarovej mapy pre priestorovú analýzu

Tento blog obsahuje vizualizáciu Shape Map pre priestorovú analýzu v LuckyTemplates. Ukážem vám, ako môžete efektívne využiť túto vizualizáciu s jej funkciami a prvkami.

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

LuckyTemplates Finančné výkazníctvo: Prideľovanie výsledkov šablónam v každom jednom riadku

V tomto návode predstavujem jedinečný nápad týkajúci sa finančného výkazníctva, ktorý spočíva v prideľovaní výsledkov na vopred určené šablóny tabuliek v rámci LuckyTemplates.

DAX měří v LuckyTemplates pomocí Measure Branching

DAX měří v LuckyTemplates pomocí Measure Branching

Vytvářejte míry DAX v LuckyTemplates pomocí existujících mír nebo vzorců. Tomu říkám technika větvení opatření.