Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python range() Functie:Float, List, For loop Voorbeelden

Wat is Python-bereik?

Python range() is een ingebouwde functie die beschikbaar is met Python van Python (3.x), en het geeft een reeks getallen op basis van de gegeven start- en stopindex. Als de startindex niet wordt gegeven, wordt de index als 0 beschouwd en wordt de waarde met 1 verhoogd tot de stopindex.

Range(5) geeft u bijvoorbeeld waarden 0,1,2,3,4. De Python range() is een zeer nuttige opdracht en wordt meestal gebruikt wanneer u de for-lus moet herhalen.

In deze tutorial leer je:

  • Wat is Python-bereik?
  • Syntaxis
  • Python-bereik() Functie en geschiedenis
  • Bereik() gebruiken
  • Start en stop gebruiken binnen bereik()
  • Start, stop en stap gebruiken
  • De waarden binnen het bereik verhogen met een positieve stap.
  • Omgekeerd bereik:de waarden verlagen met een negatieve stap.
  • Zwevende getallen gebruiken in Python range()
  • For-loop gebruiken met Python range()
  • Python range() gebruiken als een lijst
  • Tekens gebruiken in python-bereik()
  • Toegang tot bereikelementen
  • Voorbeeld:haal even getallen op met range()
  • Twee-bereik() uitgangen samenvoegen
  • Bereik() gebruiken met NumPy

Syntaxis

range(start, stop, step)

Parameters

  • begin: (optioneel) De startindex is een geheel getal, en indien niet gegeven, is de standaardwaarde 0.
  • stop: De stopindex bepaalt bij welke waarde de range-functie moet stoppen. Het is een verplichte invoer voor de bereikfunctie. De laatste waarde is altijd 1 minder dan de stopwaarde.
  • stap: (optioneel). De stapwaarde is het getal waarmee het volgende getal in het bereik moet worden verhoogd, standaard is dit 1.

Retourwaarde:

De retourwaarde is een reeks getallen van de gegeven start-tot-stop-index.

Python-bereik() Functie en geschiedenis

Python range() is geïntroduceerd vanaf python versie 3, daarvoor was xrange() de functie.

Zowel range als xrange() worden gebruikt om een ​​reeks getallen te produceren.

Hieronder vindt u het verschil tussen range en xrange():

bereik() xrange()
Het bereik() geeft de reeks getallen en geeft een lijst met getallen terug. De functie xrange() geeft een generatorobject dat in een for-lus moet worden herhaald om de waarden te krijgen.
Het bereik() geeft een lijst terug. xrange() retourneert een generatorobject.
De methode range() gebruikt meer geheugen omdat de geretourneerde lijst moet worden opgeslagen in vergelijking met xrange(). Omdat xrange() een generatorobject retourneert, geeft het niet direct waarden en moet het binnen de for-loop worden gebruikt om de waarden te krijgen.
Er wordt meer geheugen gebruikt, vandaar dat de uitvoering van de code traag is bij het werken aan een enorme hoeveelheid gegevens. De uitvoering van de code is sneller met xrange().

Bereik() gebruiken

Dit voorbeeld laat zien hoe u de waarden van 0-9 kunt afdrukken met range().

De waarde die in het bereik wordt gebruikt is 10, dus de uitvoer is 0 1 2 3 4 5 6 7 8 9

Aangezien de start niet is gegeven, wordt de start als 0 beschouwd en wordt de laatste waarde gegeven tot 9. De laatste waarde is altijd 1 minder dan de gegeven waarde, d.w.z. stop-1.

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

Uitvoer:

0 1 2 3 4 5 6 7 8 9

Start en stop gebruiken binnen bereik()

In de code is de startwaarde 3 en de stopwaarde 10. Hier is de startindex 3, dus de reeks getallen begint van 3 tot de stopwaarde. De laatste waarde in de reeks is 1 minder dan de stopwaarde 10-1 =9.

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

Uitgang:

3 4 5 6 7 8 9

Start, stop en stap gebruiken

De startwaarde is 3, dus de reeks getallen begint bij 3. De stopwaarde is 10, dus de reeks cijfers stopt bij (10-1), d.w.z. 9. De stap is 2, dus elke waarde in de reeks zal worden verhoogd met 2. Als de stapwaarde niet wordt gegeven, wordt de waarde voor stap standaard ingesteld op 1.

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

Uitvoer:

3 5 7 9

Tot nu toe hebben we gezien hoe de functie range() de verhoogde waarde geeft voor de opgegeven stopwaarde. Laten we nu een voorbeeld proberen om de verlaagde waarde binnen het gegeven bereik te krijgen.

De waarden binnen het bereik verhogen met een positieve stap.

De parameter step in range() kan worden gebruikt om de waarden te verhogen/verlagen. Standaard is het een positieve waarde 1. Het geeft dus altijd verhoogde waarden.

De stapwaarde moet positief zijn als u verhoogde waarden als output wilt hebben.

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

Uitvoer:

1 6 11 16 21 26

Omgekeerd bereik:de waarden verlagen met een negatieve stap.

De parameterstap met een negatieve waarde in range() kan worden gebruikt om verlaagde waarden te krijgen. In het onderstaande voorbeeld is de stapwaarde negatief, dus de uitvoer wordt verlaagd vanaf de opgegeven bereikwaarde.

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

Uitvoer:

15 14 13 12 11 10 9 8 7 6

De startwaarde is 15, de stopwaarde is 5 en de stapwaarde is een negatief getal, d.w.z. -1. Met bovenstaande invoer zal de range()-functie de waarde verlagen vanaf 15 totdat deze de stopwaarde bereikt, maar hier is het verschil dat de laatste waarde stop + 1 is.

Zwevende getallen gebruiken in Python range()

Laten we nu aan het bereik() werken met behulp van getallen met drijvende komma.

Voorbeeld:

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

In bovenstaand voorbeeld hebben we stopwaarde gebruikt als 10,5.

De uitvoer is:

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

Python geeft een foutmelding omdat de functie range() geen drijvende-kommagetallen ondersteunt voor start, stop en step.

For-loop gebruiken met Python range()

In dit voorbeeld gebruiken we een reeks getallen en laten we eens kijken hoe we de array binnen de for-loop kunnen herhalen met range()

Voorbeeld:

arr_list = ['Mysql', 'Mongodb', 'PostgreSQL', 'Firebase']

for i in range(len(arr_list)):
    print(arr_list[i], end =" ")

Uitvoer:

MysqlMongodb PostgreSQL Firebase

In het bovenstaande voorbeeld hebben we len(arr_list) als stopwaarde gebruikt. De for-lus herhaalt zich tot de stopwaarde, d.w.z. de lengte van de array en dat zal 4 zijn, omdat we vier items in de arr_list hebben. De startwaarde is 0 en stap is 1. Dus de waarden beginnen bij 0 en stoppen bij 3, d.w.z. lengte van array -1, wat betekent 4 -1 =3.

Python range() gebruiken als een lijst

In dit voorbeeld ziet u hoe u de uitvoer van bereik als een lijst kunt gebruiken.

Voorbeeld:

print(list(range(10)))

Uitvoer:

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

U kunt zien dat de uitvoer een lijstindeling is. Het was niet nodig om de range() in een lus te plaatsen en met behulp van de list()-methode konden we de uitvoer direct van het bereik naar het lijstformaat converteren.

Tekens gebruiken in python-bereik()

Tot nu toe hebben we gehele getallen gebruikt in python range(). We hebben ook gezien dat getallen met drijvende komma niet worden ondersteund in het python-bereik. Laten we proberen de output te zien van wat er gebeurt als we tekens gebruiken.

Voorbeeld:

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

Uitgang:

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

Het geeft een foutmelding dat een string niet kan worden geïnterpreteerd als een geheel getal.

Om de lijst met alfabetten te krijgen, kunt u de code aanpassen en de gewenste uitvoer krijgen, zoals hieronder weergegeven:

Voorbeeld:

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

Uitvoer:

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

Toegang tot bereikelementen

Je kunt een for-lus gebruiken om de waarden uit het bereik te halen of de index gebruiken om toegang te krijgen tot de elementen uit bereik().

For-loop gebruiken

Voorbeeld:

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

Uitvoer:

0
1
2
3
4
5

Index gebruiken

De index wordt gebruikt met bereik om de beschikbare waarde op die positie te krijgen. Als de bereikwaarde 5 is, kunt u om de startwaarde te krijgen range(5)[0] en het volgende waardebereik (5)[1] enzovoort gebruiken.

Voorbeeld:

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)

Uitvoer:

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)

Lijst() gebruiken

Deze methode zal alle elementen uit het bereik() afdrukken. Door list() te gebruiken, worden de elementen uit range() geretourneerd in lijstformaat.

Voorbeeld:

print(list(range(10)))

Uitvoer:

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

Het geeft de lijstuitvoer voor het opgegeven bereik.

Voorbeeld:haal even getallen op met range()

Door range() te gebruiken, wordt de lijst met even getallen in het bereik als invoer gegeven. De parameters voor bereik() zijn, start is 2, stop is 20 en stap is 2, dus de waarden worden met 2 verhoogd en geven even getallen tot stop-2.

Voorbeeld:

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

Uitvoer:

2 4 6 8 10 12 14 16 18

Twee-bereik() uitgangen samenvoegen

In dit voorbeeld worden 2 range()-functies samengevoegd met behulp van de itertools module chain()-functie.

Voorbeeld:

from itertools import chain 

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

Uitvoer:

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

Bereik() gebruiken met NumPy

De NumPy-module heeft de functie arange() die werkt en vergelijkbare uitvoer geeft zoals range(). De arrange() heeft dezelfde parameters als range().

Syntaxis:

arange(start, stop, step)

Volg de onderstaande stappen om met NumPy te werken.

Stap 1 :NumPy-module importeren

import numpy

Als het tijdens de uitvoering een foutmelding geeft met de melding numpy module niet gevonden, moet u de module installeren zoals weergegeven in stap 2.

Stap 2 :NumPy installeren

pip install numpy

Stap 3 :Werkvoorbeeld van arange() met NumPy

import numpy as np 

for  i in np.arange(10):
   print(i, end =" ")        

Uitvoer:

0 1 2 3 4 5 6 7 8 9

Drijvende-kommagetallen met NumPy arange()

Het is niet mogelijk om de drijvende-kommareeks te krijgen met range(), maar het is wel mogelijk met NumPy arange().

Voorbeeld:

Het bereik dat we willen is van 0,5 tot 1,5. De waarde wordt met 0,2 verhoogd.

import numpy as np 

for  i in np.arange(0.5, 1.5, 0.2):
   print(i, end =" ")        

Uitvoer:

0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998

De output die we krijgen is een beetje raar, sommige float-nummers worden weergegeven met 16 decimalen. Dit gebeurt vanwege de complexiteit van het opslaan van decimale drijvende getallen in binair formaat. U kunt desgewenst ook de waarden afronden en beperken tot de door u gewenste decimalen.

Samenvatting:

  • Python range() is een ingebouwde functie die beschikbaar is met Python van Python(3.x), en het geeft een reeks getallen op basis van de gegeven start- en stopindex. Als de startindex niet wordt gegeven, wordt de index als 0 beschouwd en wordt de waarde verhoogd tot de stopindex.
  • Python range() is geïntroduceerd vanaf python versie 3, daarvoor was xrange() de functie.
  • Het bereik() geeft de reeks getallen en retourneert een lijst met getallen. De functie xrange() geeft een generatorobject dat in een for-lus moet worden doorlopen om de waarden te krijgen.
  • De parameter step in range() kan worden gebruikt om de waarden te verhogen/verlagen. Standaard is het een positieve waarde 1. Het geeft dus altijd verhoogde waarden.
  • Python geeft een fout voor getallen met drijvende komma omdat de functie range() alleen gehele waarden ondersteunt.
  • De waarden van range() zijn toegankelijk met for-loop, met index en list()
  • De NumPy-module heeft de functie arange() die werkt en vergelijkbare uitvoer geeft zoals range(). De arange() heeft dezelfde parameters als range().
  • Het is mogelijk om de drijvende-kommareeks NumPy arange() te krijgen die niet wordt ondersteund met range().

Python

  1. Python-functieargumenten
  2. Python Anonieme/Lambda-functie
  3. Python-generatoren
  4. Python-sluitingen
  5. Python Lambda-functies met VOORBEELDEN
  6. Python abs() Functie:Voorbeelden van absolute waarden
  7. Python round() functie met VOORBEELDEN
  8. Python range() Functie:Float, List, For loop Voorbeelden
  9. Python map() functie met VOORBEELDEN
  10. Enumerate() Functie in Python:Loop, Tuple, String (voorbeeld)
  11. Python List count() met VOORBEELDEN