Python tartomány () Funkció: Float, List, For ciklus példák

Tartalomjegyzék:

Anonim

Mi az a Python Range?

A Python range () egy beépített függvény, amely a Python-nal elérhető a Python-tól (3.x), és a megadott kezdési és leállítási index alapján számsort ad. Abban az esetben, ha a kezdőindex nincs megadva, az index 0-nak számít, és 1-vel növeli az értéket a stop-indexig.

Például az (5) tartomány 0,1,2,3,4 értékeket ad ki. A Python tartomány () nagyon hasznos parancs, és többnyire akkor használatos, amikor a ciklus használatával kell iterálni.

Ebben az oktatóanyagban megtudhatja:

  • Mi az a Python Range?
  • Szintaxis
  • Python tartomány () Funkció és előzmények
  • A tartomány () használata
  • A start és a stop használata a tartományban ()
  • A start, stop és step használatával
  • A tartomány értékeinek növelése pozitív lépés segítségével.
  • Fordított tartomány: Az értékek csökkentése negatív lépés segítségével.
  • Lebegő számok használata a Python tartományban ()
  • A for-loop használata Python tartományval ()
  • A Python range () használata listaként
  • Karakterek használata a python tartományban ()
  • Hogyan lehet elérni a tartomány elemeit
  • Példa: Páros számok beszerzése a range () használatával
  • Két tartományú () kimenetek egyesítése
  • A tartomány () használata a NumPy-vel

Szintaxis

range(start, stop, step)

Paraméterek

  • start: (opcionális) A start index egész szám, és ha nincs megadva, akkor az alapértelmezett érték 0.
  • stop: A stop index határozza meg azt az értéket, amelynél a tartományfüggvénynek le kell állnia. A tartományfüggvény kötelező bevitele. Az utolsó érték mindig 1-gyel lesz kisebb, mint a leállási érték.
  • lépés: (nem kötelező). A lépés értéke az a szám, amellyel a következő szám tartományt növelni kell, alapértelmezés szerint ez 1.

Visszatérési érték:

A visszatérő érték az adott kezdő és leállítási index közötti számsorozat.

Python tartomány () Funkció és előzmények

A Python tartományt () a Python 3-as verziójától vezették be, azelőtt az xrange () volt a függvény.

A tartomány és az xrange () egyaránt felhasználható számok sorozatának előállítására.

A következő a különbség a tartomány és az xrange () között:

hatótávolság() xrange ()
A tartomány () megadja a számok sorrendjét, és visszaadja a számok listáját. Az xrange () függvény egy olyan generátorobjektumot ad, amelyet egy for-ciklusba kell hurokolni az értékek megszerzéséhez.
A tartomány () listát ad vissza. Az xrange () generátorobjektumot ad vissza.
A range () metódus több memóriát használ, mivel a visszaküldött listát az xrange () -hez képest tárolni kell. Mivel az xrange () egy generátor objektumot ad vissza, nem ad azonnal értékeket, és a for-loop belsejében kell felhasználni az értékek megszerzéséhez.
A memória használata sokkal inkább a kód végrehajtása lassú, amikor hatalmas adatkészleten dolgozunk. A kód végrehajtása gyorsabb az xrange () használatával.

A tartomány () használata

Ez a példa bemutatja, hogyan lehet 0 és 9 közötti értékeket kinyomtatni a tartomány () segítségével.

A tartományban használt érték 10, tehát a kimenet 0 1 2 3 4 5 6 7 8 9

Mivel a rajt nincs megadva, a kezdet 0-nak számít, az utolsó érték pedig 9-ig kerül megadásra. Az utolsó érték mindig 1-gyel kisebb, mint az adott érték, azaz stop-1.

for i in range(10):print(i, end =" ")

Kimenet:

0 1 2 3 4 5 6 7 8 9

A start és a stop használata a tartományban ()

A kódban a kezdőérték 3, a stop értéke 10. Itt a kezdőindex 3, tehát a számok sorrendje 3-tól a stop értékig kezdődik. A sorozat utolsó értéke 1-gyel lesz kevesebb, mint a 10-1 = 9 stop érték.

for i in range(3, 10):print(i, end =" ")

Kimenet:

3 4 5 6 7 8 9

A start, stop és step használatával

A kiindulási érték 3, tehát a számsorozat 3-tól kezdődik. A leállási érték 10, tehát a számok sorrendje (10-1), azaz 9-nél áll meg. A lépés 2, tehát a sorozat minden értéke Ha a lépésérték nincs megadva, akkor a lépés értéke alapértelmezés szerint 1.

for i in range(3, 10, 2):print(i, end =" ")

Kimenet:

3 5 7 9

Eddig láttuk, hogy a range () függvény hogyan adja meg az adott stop érték növelt értékét. Próbálkozzunk most egy példával, hogy a csökkentett értéket megkapjuk a megadott tartományban.

A tartomány értékeinek növelése pozitív lépés segítségével.

A () tartományban lévő paraméterlépés az értékek növelésére / csökkentésére használható. Alapértelmezés szerint ez egy pozitív érték 1. Tehát mindig növekményes értékeket ad.

A lépésértéknek pozitívnak kell lennie, ha növekményes értékeket szeretne ouputként használni.

for i in range(1, 30, 5):print(i, end =" ")

Kimenet:

1 6 11 16 21 26

Fordított tartomány: Az értékek csökkentése negatív lépés segítségével.

A () tartomány negatív értékű paraméterlépése csökkentett értékek lekérésére használható. Az alábbi példában a lépésérték negatív, így a kimenetet csökkenteni kell a megadott tartományértéktől.

for i in range(15, 5, -1):print(i, end =" ")

Kimenet:

15 14 13 12 11 10 9 8 7 6

A kezdőérték 15, a leállítási érték 5, a lépésérték pedig negatív szám, azaz -1. A fenti bemenetekkel a range () függvény csökkenti az értéket 15-től kezdve, amíg el nem éri a leállítási értéket, de itt a különbség az utolsó érték stop + 1 lesz.

Lebegő számok használata a Python tartományban ()

Dolgozzunk most a tartományon () lebegőpontos számok felhasználásával.

Példa:

for i in range(10.5):print(i, end =" ")

A fenti példában a stop értéket 10,5-ként használtuk.

A kimenet:

Traceback (most recent call last):File "python_range.py", line 1, in for i in range(10.5):TypeError: 'float' object cannot be interpreted as an integer

A Python hibát ad, mivel a range () függvény nem támogatja a lebegőpontos számokat az indításhoz, a leállításhoz és a lépéshez.

A for-loop használata Python tartományval ()

Ebben a példában számtömböt fogunk használni, és nézzük meg, hogyan kell használni a tömb iterációját a for-loop belsejében a range () használatával

Példa:

arr_list = ['Mysql', 'Mongodb', 'PostgreSQL', 'Firebase']for i in range(len(arr_list)):print(arr_list[i], end =" ")

Kimenet:

MysqlMongodb PostgreSQL Firebase

A fenti példában a len (arr_list) kifejezést használtuk leállítási értékként. A for ciklus a stop értékig, azaz a tömb hosszáig iterál, és ez 4 lesz, mivel négy elemünk van az arr_list-ben. A kiindulási érték 0, a lépés pedig 1 lesz. Tehát az értékek 0-tól kezdődnek, és 3-nál állnak meg, azaz a -1 tömb hossza, azaz 4 -1 = 3.

A Python range () használata listaként

Ebben a példában megnézzük, hogyan lehet felhasználni a tartomány kimenetét listaként.

Példa:

print(list(range(10)))

Kimenet:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Láthatja, hogy a kimenet lista formátumú. Nem volt szükséges a tartomány () hurokba hurcolása, és a list () metódus segítségével közvetlenül konvertálhatjuk a kimenetet tartományról listára.

Karakterek használata a python tartományban ()

Eddig egész számokat használtunk a python tartományban (). Azt is láttuk, hogy a lebegőpontos számok nem támogatottak a python tartományban. Próbáljuk meg megnézni, mi történik a karakterek használatakor.

Példa:

for c in range ('z'):print(c, end =" ")

Kimenet:

Traceback (most recent call last):File "python_range.py", line 1, in for c in range ('z'):TypeError: 'str' object cannot be interpreted as an integer

Hibát dob, mondván, hogy egy karakterlánc nem értelmezhető egész számként.

Az ábécék listájának megszerzéséhez testreszabhatja a kódot, és megszerezheti a kívánt kimenetet az alábbiak szerint:

Példa:

def get_alphabets(startletter, stopletter, step):for c in range(ord(startletter.lower()), ord(stopletter.lower()), step):yield chr(c)print(list(get_alphabets("a", "h", 1)))

Kimenet:

['a', 'b', 'c', 'd', 'e', 'f', 'g']

Hogyan lehet elérni a tartomány elemeit

Használhat egy for-ciklust az értékek lekéréséhez a tartományból, vagy az index segítségével elérheti a tartomány () elemeit.

For-loop használata

Példa:

for i in range(6):print(i)

Kimenet:

012345

Az index használata

Az indexet a tartományhoz használják, hogy megszerezzék az adott pozícióban elérhető értéket. Ha a tartomány értéke 5, a kezdőérték megszerzéséhez használhatja az (5) [0] tartományt és a következő értéktartományt (5) [1] stb.

Példa:

startvalue = range(5)[0]print("The first element in range is = ", startvalue)secondvalue = range(5)[1]print("The second element in range is = ", secondvalue)lastvalue = range(5)[-1]print("The first element in range is = ", lastvalue)

Kimenet:

startvalue = range(5)[0]print("The first element in range is = ", startvalue)secondvalue = range(5)[1]print("The second element in range is = ", secondvalue)lastvalue = range(5)[-1]print("The first element in range is = ", lastvalue)

A lista () használata

Ez a módszer kinyomtatja a tartomány () összes elemét. A list () használatával a tartomány () elemeit lista formátumban adja vissza.

Példa:

print(list(range(10)))

Kimenet:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Megadja a megadott tartomány listakimenetét.

Példa: Páros számok beszerzése a range () használatával

A range () használatával megkapja a páros számok listáját a bemenetként megadott tartományban. A () tartomány paraméterei: start 2, stop 20 és step 2, tehát az értékek 2-vel növekednek, és páros számokat adnak a stop-2-ig.

Példa:

for i in range(2, 20, 2):print(i, end =" ")

Kimenet:

2 4 6 8 10 12 14 16 18

Két tartományú () kimenetek egyesítése

Ebben a példában összefűzünk 2 tartomány () függvényt az itertools modullánc () függvény segítségével.

Példa:

from itertools import chainprint("Merging two range into one")frange =chain(range(10), range(10, 20, 1))for i in frange:print(i, end=" ")

Kimenet:

Merging two range into one0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

A tartomány () használata a NumPy-vel

A NumPy modul arange () funkcióval rendelkezik, amely működik, és hasonló kimenetet ad, mint például a range (). A rendezés () ugyanazokat a paramétereket veszi fel, mint a tartomány ().

Szintaxis:

arange(start, stop, step)

A NumPy használatához kövesse az alábbi lépéseket.

1. lépés : Importálja a NumPy modult

import numpy

Futtatás közben beilleszt, hibaüzenetet mond, hogy a numpy modul nem található, telepítenie kell a modult a 2. lépésben leírtak szerint.

2. lépés : Telepítse a NumPy-t

pip install numpy

3. lépés : Működési példa az arange () használatára a NumPy használatával

import numpy as npfor i in np.arange(10):print(i, end =" ")

Kimenet:

0 1 2 3 4 5 6 7 8 9

Lebegőpontos számok a NumPy arange () használatával

A () tartomány használatával nem lehet lebegőpontos szekvenciát lekérni, de a NumPy arange () segítségével.

Példa:

A kívánt tartomány 0,5 és 1,5 között van. Az érték 0,2-gyel növekszik.

import numpy as npfor i in np.arange(0.5, 1.5, 0.2):print(i, end =" ")

Kimenet:

0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998

A kapott kimenet kissé furcsa, az úszószámok egy részét 16 tizedesjeggyel tüntetjük fel. Ez a decimális lebegő számok bináris formátumban történő tárolásának bonyolultsága miatt történik. Szükség esetén kerekítheti is az értékeket, és korlátozhatja őket a szükséges tizedesjegyekre.

Összegzés:

  • A Python range () egy beépített függvény, amely a Python-nal elérhető a Python-tól (3.x), és a megadott kezdési és leállítási index alapján számsort ad. Abban az esetben, ha a kezdőindex nincs megadva, az index 0-nak számít, és a stop indexig növeli az értéket.
  • A Python tartományt () a Python 3-as verziójától vezették be, azelőtt az xrange () volt a függvény.
  • A tartomány () megadja a számok sorrendjét, és visszaadja a számok listáját. Az xrange () függvény egy olyan generátorobjektumot ad, amelyet egy for-ciklusba kell hurokolni az értékek megszerzéséhez.
  • A () tartományban lévő paraméterlépés az értékek növelésére / csökkentésére használható. Alapértelmezés szerint ez egy pozitív érték 1. Tehát mindig növekményes értékeket ad.
  • A Python hibát ad a lebegőpontos számoknál, mivel a range () függvény csak egész értékeket támogat.
  • A tartomány () értékei a for-loop használatával, az index és a lista () használatával érhetők el.
  • A NumPy modul arange () funkcióval rendelkezik, amely működik, és hasonló kimenetet ad, mint például a range (). Az arange () ugyanazokat a paramétereket veszi fel, mint a range ().
  • A tartomány () használatával meg lehet kapni a lebegőpontos szekvenciát (NumPy arange (), amelyet nem támogatunk.