Python-rækkevidde () Funktion: Float, List, For loop-eksempler

Indholdsfortegnelse:

Anonim

Hvad er Python Range?

Python-rækkevidde () er en indbygget funktion tilgængelig med Python fra Python (3.x), og den giver en række af tal baseret på start- og stopindekset. Hvis startindekset ikke er angivet, betragtes indekset som 0, og det øger værdien med 1 til stopindekset.

For eksempel vil rækkevidde (5) sende dig værdier 0,1,2,3,4. Python-området () er en meget nyttig kommando og bruges mest, når du skal gentage ved hjælp af for loop.

I denne vejledning lærer du:

  • Hvad er Python Range?
  • Syntaks
  • Python-rækkevidde () Funktion og historie
  • Brug af rækkevidde ()
  • Brug af start og stop inden for rækkevidde ()
  • Brug start, stop og trin
  • Forøgelse af værdierne i området ved hjælp af et positivt trin.
  • Omvendt interval: Reduktion af værdier ved hjælp af negativt trin.
  • Brug af flydende tal i Python-området ()
  • Brug af for-loop med Python-rækkevidde ()
  • Brug af Python-rækkevidde () som en liste
  • Brug af tegn i pythonområdet ()
  • Sådan får du adgang til rækkeviddeelementer
  • Eksempel: Få lige tal ved hjælp af rækkevidde ()
  • Fletning af to-række () udgange
  • Brug af rækkevidde () Med NumPy

Syntaks

range(start, stop, step)

Parametre

  • start: (valgfrit) Startindekset er et heltal, og hvis ikke angivet, er standardværdien 0.
  • stop: Stopindekset bestemmer den værdi, som rækkefunktionen skal stoppe med. Det er en obligatorisk input til rækkefunktion. Den sidste værdi vil altid være 1 mindre end stopværdien.
  • trin: (valgfrit). Trinværdien er det nummer, hvormed det næste tal er interval skal øges, som standard er det 1.

Returværdi:

Returværdien er en række af tal fra det givne start-til-stop-indeks.

Python-rækkevidde () Funktion og historie

Python-rækkevidde () er blevet introduceret fra python-version 3, før xrange () var funktionen.

Både rækkevidde og xrange () bruges til at producere en række af tal.

Følgende er forskellen mellem rækkevidde og xrange ():

rækkevidde() xrange ()
Området () giver rækkefølgen af ​​numre og returnerer en liste med tal. Funktionen xrange () giver et generatorobjekt, der skal loopes i en for-loop for at få værdierne.
Området () returnerer en liste. xrange () returnerer et generatorobjekt.
Range () -metoden bruger mere hukommelse, da den returnerede liste skal gemmes i forhold til xrange (). Da xrange () returnerer et generatorobjekt, giver det ikke værdier med det samme og skal bruges inde i for-loop for at få værdierne.
Brugen af ​​hukommelse er mere, hvorfor kodeudførelsen er langsom, når man arbejder på et stort sæt data. Kodeudførelsen er hurtigere ved hjælp af xrange ().

Brug af rækkevidde ()

Dette eksempel viser, hvordan værdier fra 0-9 udskrives ved hjælp af rækkevidde ().

Den anvendte værdi i området er 10, så output er 0 1 2 3 4 5 6 7 8 9

Da starten ikke gives, betragtes starten som 0, og den sidste værdi gives indtil 9. Den sidste værdi er altid 1 mindre end den givne værdi, dvs. stop-1.

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

Produktion:

0 1 2 3 4 5 6 7 8 9

Brug af start og stop inden for rækkevidde ()

I koden er startværdien 3, og stopværdien er 10. Her er startindekset 3, så rækkefølgen af ​​tal starter fra 3 til stopværdien. Den sidste værdi i sekvensen er 1 mindre end stopværdien 10-1 = 9.

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

Produktion:

3 4 5 6 7 8 9

Brug start, stop og trin

Startværdien er 3, så rækkefølgen af ​​tal starter ved 3. Stopværdien er 10, så rækkefølgen af ​​tal stopper ved (10-1), dvs. 9. Trin er 2, så hver værdi i sekvensen vil forøges med 2. Hvis trinværdien ikke er angivet, er værdien for trin som standard 1.

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

Produktion:

3 5 7 9

Indtil videre har vi set, hvordan rækkevidde () -funktionen giver den øgede værdi for den angivne stopværdi. Lad os nu prøve et eksempel for at få den reducerede værdi i det givne interval.

Forøgelse af værdierne i området ved hjælp af et positivt trin.

Parametret i området () kan bruges til at øge / mindske værdierne. Som standard er det en positiv værdi 1. Så det giver altid inkrementerede værdier.

Trinværdien skal være positiv, hvis du vil have forøgede værdier som udgang.

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

Produktion:

1 6 11 16 21 26

Omvendt interval: Reduktion af værdier ved hjælp af negativt trin.

Parametertrinet med negativ værdi i området () kan bruges til at få dekrementerede værdier. I nedenstående eksempel er trinværdien negativ, så output vil blive nedsat fra den angivne intervalværdi.

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

Produktion:

15 14 13 12 11 10 9 8 7 6

Startværdien er 15, stopværdien er 5, og trinværdien er negativt tal, dvs. -1. Med ovenstående indgange reducerer funktionen () værdien fra 15 og frem, indtil den når stopværdien, men her er forskellen, at den sidste værdi er stop + 1.

Brug af flydende tal i Python-området ()

Lad os nu arbejde på området () ved hjælp af flydende tal.

Eksempel:

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

I ovenstående eksempel har vi brugt stopværdi som 10,5.

Outputtet er:

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

Python giver en fejl, da funktionen interval () ikke understøtter flydende numre til start, stop og trin.

Brug af for-loop med Python-rækkevidde ()

I dette eksempel bruger vi en række tal, og lad os se, hvordan vi bruger iterationen af ​​arrayet inde i for-loop ved hjælp af rækkevidde ()

Eksempel:

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

Produktion:

MysqlMongodb PostgreSQL Firebase

I ovenstående eksempel har vi brugt len ​​(arr_list) som stopværdi. For-sløjfen gentages indtil stopværdien, dvs. længden af ​​arrayet, og det vil være 4, da vi har fire elementer i arr_listen. Startværdien vil være 0 og trin vil være 1. Så værdierne starter fra 0 og stopper ved 3, dvs. længden af ​​array -1, hvilket betyder 4-1 = 3.

Brug af Python-rækkevidde () som en liste

I dette eksempel vil se, hvordan man bruger output fra rækkevidde som en liste.

Eksempel:

print(list(range(10)))

Produktion:

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

Du kan se, at output er et listeformat. Det var ikke nødvendigt at sløjfe rækkevidden () og ved hjælp af list () -metoden kunne vi direkte konvertere output fra rækkevidde til listeformat.

Brug af tegn i pythonområdet ()

Indtil videre har vi brugt heltal i pythonområdet (). Vi har også set, at numre med flydende punkt ikke understøttes i pythonområdet. Lad os prøve at se output om, hvad der sker, når vi bruger tegn.

Eksempel:

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

Produktion:

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

Det kaster en fejl, der siger, at en streng ikke kan fortolkes som et heltal.

For at få listen over alfabeterne kan du tilpasse koden og få de ønskede output som vist nedenfor:

Eksempel:

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)))

Produktion:

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

Sådan får du adgang til rækkeviddeelementer

Du kan bruge en for-loop til at hente værdierne fra området eller bruge indekset til at få adgang til elementerne fra området ().

Brug af for-loop

Eksempel:

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

Produktion:

012345

Brug af indeks

Indekset bruges med rækkevidde for at få den tilgængelige værdi på den position. Hvis intervalværdien er 5, kan du få rækkevidde (5) [0] og det næste værdiområde (5) [1] og så videre for at få startværdien.

Eksempel:

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)

Produktion:

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)

Brug af liste ()

Denne metode udskriver alle elementerne fra området (). Ved hjælp af liste () returneres elementerne fra rækkevidde () i listeformat.

Eksempel:

print(list(range(10)))

Produktion:

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

Det giver listen output for det givne interval.

Eksempel: Få lige tal ved hjælp af rækkevidde ()

Brug af rækkevidde () får listen over lige tal i området angivet som input. Parametrene for interval () er, start er 2, stop er 20, og trin er 2, så værdierne øges med 2 og giver lige tal til stop-2.

Eksempel:

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

Produktion:

2 4 6 8 10 12 14 16 18

Fletning af to-række () udgange

I dette eksempel sammenkobles 2 rækkevidde () -funktioner ved hjælp af itertools modulkæde () -funktion.

Eksempel:

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

Produktion:

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

Brug af rækkevidde () Med NumPy

NumPy-modulet har arange () -funktion, der fungerer og giver lignende output som rækkevidde (). Arrangementet () har de samme parametre som rækkevidde ().

Syntaks:

arange(start, stop, step)

For at arbejde med NumPy skal du følge nedenstående trin.

Trin 1 : Importer NumPy-modul

import numpy

Incase under udførelse, det giver en fejl med at sige numpy-modul ikke fundet, du skal installere modulet som vist i trin 2.

Trin 2 : Installer NumPy

pip install numpy

Trin 3 : Arbejdseksempel på arange () ved hjælp af NumPy

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

Produktion:

0 1 2 3 4 5 6 7 8 9

Flydende numre ved hjælp af NumPy arange ()

Det er ikke muligt at hente den flydende punktsekvens ved hjælp af rækkevidde (), men det er muligt at bruge NumPy arange ().

Eksempel:

Det område, vi ønsker, er fra 0,5 til 1,5. Værdien øges med 0,2.

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

Produktion:

0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998

Den output, vi får, er lidt underlig, nogle af floatnumrene vises med 16 decimaler. Dette sker på grund af kompleksiteten ved lagring af flydende decimaltal i binært format. Du kan også afrunde værdierne, hvis det kræves, og begrænse dem til de decimaler, du har brug for.

Resumé:

  • Python-rækkevidde () er en indbygget funktion, der er tilgængelig med Python fra Python (3.x), og det giver en række af tal baseret på start- og stopindekset. Hvis startindekset ikke er angivet, betragtes indekset som 0, og det øger værdien indtil stopindekset.
  • Python-rækkevidde () er blevet introduceret fra python-version 3, før xrange () var funktionen.
  • Området () giver rækkefølgen af ​​numre og returnerer en liste med tal. Funktionen xrange () giver et generatorobjekt, der skal loopes i en for-loop for at få værdierne.
  • Parametret i området () kan bruges til at øge / mindske værdierne. Som standard er det en positiv værdi 1. Så det giver altid inkrementerede værdier.
  • Python giver en fejl for flydende tal, da funktionen () kun understøtter heltalsværdier.
  • Værdierne fra rækkevidde () kan tilgås ved hjælp af for-loop ved hjælp af indeks og liste ()
  • NumPy-modulet har arange () -funktion, der fungerer og giver lignende output som rækkevidde (). Arange () har de samme parametre som interval ().
  • Det er muligt at hente den flydende punktsekvens NumPy arange (), der ikke understøttes ved hjælp af rækkevidde ().