Python genererer sekvens av tall

Python genererer sekvens av tall
En sekvens av numeriske verdier mellom et spesifisert verdier for verdier kan produseres ved bruk av Python Range () -funksjonen. Ved å bruke de nyttige eksemplene i denne opplæringen, lærer du alt om Range () -metoden. Selv om funksjonen ser ut til å være ganske enkel å bruke, er det noen funksjonaliteter som du kanskje ikke er klar over. Etter å ha fullført denne opplæringen, vil du lære å vite følgende:
  • Range () -metoden i Python og hvordan du bruker den
  • Hvordan parametrene for rekkeviddefunksjonen () som "start", "stopp" og "trinn" kan tilpasses
  • Hvordan bruke Pythons rekkevidde () -funksjon omvendt
  • Hvordan du bruker rekkevidde () med en for loop
  • Og mye mer

Hva er rekkevidde () -funksjonen i Python

Du kan opprette en serie med tall ved hjelp av "Start", "Stopp" og "trinn" -parametere i Python Range () -funksjonen (). Området ser på 0 som standard, øker med 1, og slutter rett før den spesifiserte verdien. La oss ta et øyeblikk å merke noe før vi går videre. Rekkevidde () i Python er en type snarere enn en funksjon. En "rekkevidde" -type returneres når rekkevidden () objektet blir instantiert. Dette har fordelen av å bruke litt mindre minne enn de andre containertypene som tuples eller lister. Begrepet "funksjon" brukes i denne opplæringen i stedet for "type" for å holde ting greit og nyttig.

Syntaks: rekkevidde (start, stopp, trinn)

Hvor:

start: Et heltall. Startindeksen har en standardverdi på 0 hvis den ikke er spesifisert. Det er en valgfri parameter.

Stoppe: Områdefunksjonen må stoppe med en viss verdi som bestemmes av stoppverdien. Det er en obligatorisk parameter for rekkevidden.

steg: Det endelige tallet er alltid ett mindre enn stopppunktet. Økningsverdien som må gjøres til følgende nummerområde, og som standard er 1. Det er også en valgfri parameter.

Opprette rekkevidden () -objektet

La oss undersøke hvordan du genererer en rekke tall ved hjelp av Range () -metoden:

Kode:

tall = område (6)
trykk ('tall i rekkevidde:', tall)
Print ('Type:', type (tall))

Produksjon:

Vi skrev inn en rekke tall i forrige skript, alt fra 0 til 6, men ikke inkludert 6. Det gitte utdraget inkluderer to viktige punkter:

Når et område () skrives ut, er selve objektområdet trykt i stedet for verdiene og en klasse av typeområdet er resultatet av å instantisere et område ().

Skriv ut tall i rekkevidde () objekt

Ved å iterere gjennom hvert element/nummer i objektet, kan verdiene skrives ut. Ved å stille inn sluttparameteren i print () -funksjonen, kan vi skrive ut hvert element på samme linje. Ved å spesifisere en streng som inneholder bare skaps (““) I sluttparameteren, kan vi skrive ut utskriftselementene på samme linje, atskilt med hvite rom.

Kode:

tall = område (8)
for n i tall:
print (n, end = ")

Produksjon:

Som det kan sees, returnerte funksjonen tallene mellom 0 og 6.

La oss se på hvordan Python lar oss endre rekkeviddenes startparameter.

Generere en sekvens av tall ved å spesifisere startparameteren i rekkevidde () -funksjonen

Som tidligere nevnt, starter Python Range () -funksjonen på 0 som standard. Ved å endre start = verdi, kan du imidlertid endre denne verdien. La oss se på hvordan vi kan stille parametrene våre til å starte rekkevidden på 10 og stoppe før 16.

Kode:

tall = område (10, 16)
for n i tall:
print (n, end = ")

Produksjon:

Vi bruker en for loop for å skrive ut området/sekvensen av tall som genereres ved hjelp av rekkevidden () -funksjonen (). Vi spesifiserer startparameteren som 10 og stoppet som 16. Funksjonen skriver ut verdiene fra 10 til 15 og inkluderer ikke tallet 16 fordi en sekvens av tall som genereres ved bruk av Range () -funksjonen ikke inkluderer den angitte verdien for stoppparameteren. "Start" -parameteren er inkluderende, derfor er verdien også inkludert (i motsetning til "stopp" -parameteren). Vi lærer om "trinn" -parameteren i delen nedenfor.

Generere en sekvens av tall ved å spesifisere den angitte parameteren i rekkevidde () -funksjonen ()

For å definere hvordan verdiene økes eller dekrementeres, kan vi bruke "trinn" -parameteren i området () -funksjonen. Som standard er dette "sett" -parameteren satt til 1, noe som betyr at tallene som spenner fra start til stopp økes med 1.

La oss spesifisere en verdi for å angi en annen parameter enn en for å generere en sekvens av tall.

Kode:

Verdier = område (0, 15, 3)
for verdien i verdier:
print (verdi, slutt = ")

Produksjon:

Vi setter et område fra 0 til 15 og øker det med 3 i den gitte koden. Dette indikerer at vi genererer en sekvens med tall som er multipler på 3, fra 0 til 15.

Nå som du er klar over alle parametrene som kan brukes med rekkevidden (), la oss se på noe bruk, tilfeller og særegenheter ved objektet.

Bruker rekkevidde () inn for loop for å generere en tallsekvens

I mange situasjoner er vi pålagt å gjenta en oppgave ved hjelp av Python Range () -objektet. Dette kan være enkelt å oppnå mens du bruker objektet i vår loop for å få tilgang til antallet av tall eller elementer. Rangefunksjonen gjør det enkelt å spesifisere hvor mange ganger et stykke/kodeblokk skal utføre. Når rekkevidde (6) leveres som et eksempel, for sløyfesykluser 6 ganger.

Kode:

for NUM i rekkevidde (6):
Print (Num)

Produksjon:

Generere en omvendt tallsekvens

Python gjør det enkelt å lage en rekke tall omvendt ved å la "trinn" -parameteren settes til en negativ verdi. Du kan generere en sekvens av tall i omvendt rekkefølge ved å sende et negativt trinnnummer til rekkevidden () -objektet. La oss lage et område fra 10 til 0 som avtar med 1.

Kode:

for NUM i rekkevidde (10, 0, -1):
print (num, slutt = ")

Produksjon:

Det negative trinnet kan også brukes til å lage en rekke negative verdier. La oss lage et nytt utvalg som går fra -5 til -15.

Kode:

for NUM i rekkevidde (-5, -15, -1):
print (num, slutt = ")

Produksjon:

Opprette en liste ved hjelp av rekkevidde () for å lagre tallens sekvens

Tallene lagres på en minneffektiv måte når du oppretter dem ved å bruke et områdeobjekt. Skjønt, vi kan kreve å forvandle områdene til Python -lister, i noen tilfeller. Nå gjør bruk av listen () konstruktørfunksjonsmetoden denne enkel. For å lage en liste over et spesifisert område, kan vi bare passere rekkevidden () inne i listen () Type.

Kode:

list_of_num = liste (rekkevidde (1,6))
print (list_of_num)

Produksjon:

Som det kan sees, returneres den nødvendige listen med en sekvens av tall av funksjonen.

Generere en sekvens av floatnumre

Range () -metoden fungerer bare med heltall som standard. Programmet krasjer og viser en typeerror hvis du passerer det i flyter.

Kode:

Num = rekkevidde (5.0)

Produksjon:

Et rekkeobjekt kan ikke opprettes direkte med en flottør. Vårt rekkeobjekt kan transformeres til en liste, og så kan vi konvertere elementene i listen til å flyte.

Kode:

num = rekkevidde (5)
f = []
for n i num:
f.vedlegg (float (n))
trykk (f)

Produksjon:

For å iterere over hvert element i området, bruker vi en for loop. Deretter bruker vi float () -funksjonen for å kaste objektet i en flytende verdi og legge den til en liste ved hjelp av append () -funksjonen.

Listeforståelsesmetoden kan gjøre denne metoden enklere. Når du trenger å opprette en ny liste, gir listeforståelsen en mer kompakt syntaks.

Kode:

num = rekkevidde (5)
float_sequence = [float (n) for n i num]
trykk (float_sequence)

Produksjon:

Generere en sekvens av floatnumre ved hjelp av numpy

Du kan generere en sekvens av floatnumre ved hjelp av Numpy.Arange () -funksjon. Områder som øker ved bruk av flyteverdiene kan lages ved hjelp av denne teknikken. La oss undersøke hvordan vi kan generere en rekke flytende tall med en økning på 2.5 fra 0.0 til 15.0:

Kode:

Importer numpy som NP
f = np.Arange (0.0, 15.0, 2.5)
trykk (f)

Produksjon:

Vi importerer Numpy -modulen. Deretter oppretter vi en rekke tall fra 0.0 til 15.0 som øker med 2.5 Bruke Arange () -funksjonen.

Konklusjon

Vi prøvde å lære å lage verdsekvensene i Python med rekkevidde () i denne opplæringen. Å forstå rekkeviddefunksjonens flere parametere var det første skrittet mot å bruke det. Etter det diskuterte vi hvordan vi kan endre funksjonens oppførsel ved å bruke parametrene. Vi opprettet en sekvens av int -tall og listeobjekter med en sekvens av heltall i et spesifisert område. Vi implementerte også noen eksempler for å lage en sekvens med antall flytdatatype i Python.