Python diapazons () Funkcija: Float, List, For loop piemēri

Satura rādītājs:

Anonim

Kas ir Python diapazons?

Python diapazons () ir iebūvēta funkcija, kas pieejama ar Python no Python (3.x), un tā dod skaitļu secību, pamatojoties uz norādīto sākuma un beigu indeksu. Gadījumā, ja sākuma indekss nav norādīts, indekss tiek uzskatīts par 0, un tas palielinās vērtību par 1 līdz stop indeksam.

Piemēram, diapazons (5) jums izvadīs vērtības 0,1,2,3,4. Python diapazons () ir ļoti noderīga komanda, un to galvenokārt izmanto, ja jums ir jāveic atkārtojums, izmantojot cilpu.

Šajā apmācībā jūs uzzināsiet:

  • Kas ir Python diapazons?
  • Sintakse
  • Python diapazons () Funkcija un vēsture
  • Izmantojot diapazonu ()
  • Sākuma un pieturas izmantošana diapazonā ()
  • Izmantojot start, stop un step
  • Vērtību palielināšana diapazonā, izmantojot pozitīvu soli.
  • Reversais diapazons: vērtību samazināšana, izmantojot negatīvo soli.
  • Peldošo skaitļu izmantošana Python diapazonā ()
  • For-loop izmantošana ar Python diapazonu ()
  • Izmantojot sarakstu Python diapazons ()
  • Rakstzīmju izmantošana pitona diapazonā ()
  • Kā piekļūt diapazona elementiem
  • Piemērs: iegūstiet pāra skaitļus, izmantojot diapazonu ()
  • Divu diapazonu () izeju apvienošana
  • Range () izmantošana ar NumPy

Sintakse

range(start, stop, step)

Parametri

  • start: (pēc izvēles) Sākuma indekss ir vesels skaitlis, un, ja tas nav norādīts, noklusējuma vērtība ir 0.
  • stop: Stop indekss izlemj vērtību, pie kuras jāaptur diapazona funkcija. Tā ir obligāta ieeja diapazona funkcijai. Pēdējā vērtība vienmēr būs par 1 mazāka nekā pieturas vērtība.
  • solis: (pēc izvēles). Soli vērtība ir skaitlis, par kuru jāpalielina nākamais skaitļa diapazons, pēc noklusējuma tas ir 1.

Atgriešanās vērtība:

Atgriešanās vērtība ir skaitļu secība no norādītā sākuma līdz beigu rādītāja.

Python diapazons () Funkcija un vēsture

Python diapazons () ir ieviests no python versijas 3, pirms tam funkcija xrange ().

Lai izveidotu skaitļu secību, tiek izmantots gan diapazons, gan xrange ().

Tālāk ir atšķirība starp diapazonu un xrange ():

diapazons () xrange ()
Diapazons () dod skaitļu secību un atgriež skaitļu sarakstu. Funkcija xrange () dod ģeneratora objektu, kas jāapvieno for-loop, lai iegūtu vērtības.
Diapazons () atgriež sarakstu. xrange () atgriež ģeneratora objektu.
Range () metode izmanto vairāk atmiņas, jo atgrieztais saraksts ir jāsaglabā salīdzinājumā ar xrange (). Tā kā xrange () atgriež ģeneratora objektu, tas uzreiz nedod vērtības un ir jāizmanto for-loop iekšpusē, lai iegūtu vērtības.
Atmiņas izmantošana vairāk notiek, tāpēc koda izpilde ir lēna, strādājot ar milzīgu datu kopu. Izmantojot xrange (), koda izpilde notiek ātrāk.

Izmantojot diapazonu ()

Šis piemērs parāda, kā izdrukāt vērtības no 0 līdz 9, izmantojot diapazonu ().

Diapazonā izmantotā vērtība ir 10, tāpēc izeja ir 0 1 2 3 4 5 6 7 8 9

Tā kā sākumam nav norādīts, sākums tiek uzskatīts par 0 un pēdējā vērtība tiek dota līdz 9. Pēdējā vērtība vienmēr ir par 1 mazāka par doto vērtību, ti, stop-1.

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

Izeja:

0 1 2 3 4 5 6 7 8 9

Sākuma un pieturas izmantošana diapazonā ()

Kodā sākuma vērtība ir 3 un pieturas vērtība ir 10. Šeit sākuma indekss ir 3, tāpēc skaitļu secība sāksies no 3 līdz pieturas vērtībai. Pēdējā secības vērtība būs par 1 mazāka nekā apstāšanās vērtība 10-1 = 9.

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

Izeja:

3 4 5 6 7 8 9

Izmantojot start, stop un step

Sākuma vērtība ir 3, tātad skaitļu secība sāksies ar 3. Apstāšanās vērtība ir 10, tātad skaitļu secība apstāsies pie (10-1), ti, 9. Solis ir 2, tāpēc katra secības vērtība būs Ja pakāpes vērtība nav norādīta, pakāpiena vērtība pēc noklusējuma ir 1.

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

Izeja:

3 5 7 9

Līdz šim mēs esam redzējuši, kā funkcija range () dod pieaugošo vērtību dotajai stop vērtībai. Tagad izmēģināsim piemēru, kā iegūt samazināto vērtību dotajā diapazonā.

Vērtību palielināšana diapazonā, izmantojot pozitīvu soli.

Parametra soli diapazonā () var izmantot, lai palielinātu / samazinātu vērtības. Pēc noklusējuma tā ir pozitīva vērtība 1. Tātad tā vienmēr sniegs palielinātas vērtības.

Solis vērtībai ir jābūt pozitīvai, ja vēlaties, lai pieaugošās vērtības būtu ouput.

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

Izeja:

1 6 11 16 21 26

Reversais diapazons: vērtību samazināšana, izmantojot negatīvo soli.

Parametra soli ar negatīvu vērtību diapazonā () var izmantot, lai iegūtu samazinātas vērtības. Zemāk sniegtajā piemērā pakāpes vērtība ir negatīva, tāpēc izlaide tiks samazināta no norādītās diapazona vērtības.

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

Izeja:

15 14 13 12 11 10 9 8 7 6

Sākuma vērtība ir 15, apstāšanās vērtība ir 5 un pakāpiena vērtība ir negatīvs skaitlis, ti, -1. Ar iepriekšminēto ievades diapazonu () funkcija samazinās vērtību no 15 līdz brīdim, kad tā sasniedz apstāšanās vērtību, bet šeit atšķirība ir pēdējā vērtība būs stop + 1.

Peldošo skaitļu izmantošana Python diapazonā ()

Tagad strādāsim pie diapazona (), izmantojot peldošā komata skaitļus.

Piemērs:

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

Iepriekš minētajā piemērā mēs esam izmantojuši apstāšanās vērtību kā 10,5.

Rezultāts ir:

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 dod kļūdu, jo funkcija range () neatbalsta peldošā komata skaitļus startam, stopam un solim.

For-loop izmantošana ar Python diapazonu ()

Šajā piemērā mēs izmantosim skaitļu masīvu un apskatīsim, kā izmantot iterēt masīvu iekšpusē for-loop, izmantojot diapazonu ()

Piemērs:

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

Izeja:

MysqlMongodb PostgreSQL Firebase

Iepriekš minētajā piemērā mēs izmantojām len (arr_list) kā pieturas vērtību. For cilpa atkārtosies līdz pieturas vērtībai, ti, masīva garumam, un tas būs 4, jo mums arr_list ir četri vienumi. Sākuma vērtība būs 0 un solis būs 1. Tātad vērtības sākas no 0 un apstājas pie 3, ti, masīva -1 garums, kas nozīmē 4 -1 = 3.

Izmantojot sarakstu Python diapazons ()

Šajā piemērā būs redzams, kā izmantot izvades no diapazona kā sarakstu.

Piemērs:

print(list(range(10)))

Izeja:

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

Var redzēt, ka izeja ir saraksta formāts. Nebija nepieciešams ciklēt diapazonu (), un, izmantojot metodi list (), mēs varējām tieši pārveidot izvadi no diapazona uz saraksta formātu.

Rakstzīmju izmantošana pitona diapazonā ()

Līdz šim mēs esam izmantojuši veselus skaitļus pitona diapazonā (). Mēs arī redzējām, ka peldošo punktu skaitļi netiek atbalstīti pitona diapazonā. Mēģināsim redzēt rezultātu, kas notiek, lietojot rakstzīmes.

Piemērs:

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

Izeja:

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

Tas rada kļūdu, sakot, ka virkni nevar interpretēt kā veselu skaitli.

Lai iegūtu alfabētu sarakstu, varat pielāgot kodu un iegūt vēlamās izejas, kā parādīts zemāk:

Piemērs:

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

Izeja:

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

Kā piekļūt diapazona elementiem

Varat izmantot for-loop, lai iegūtu vērtības no diapazona, vai izmantot indeksu, lai piekļūtu elementiem no diapazona ().

Izmantojot for-loop

Piemērs:

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

Izeja:

012345

Izmantojot indeksu

Indekss tiek izmantots ar diapazonu, lai iegūtu šajā pozīcijā pieejamo vērtību. Ja diapazona vērtība ir 5, lai iegūtu sākuma vērtību, varat izmantot diapazonu (5) [0] un nākamo vērtību diapazonu (5) [1] utt.

Piemērs:

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)

Izeja:

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)

Izmantojot sarakstu ()

Šī metode izdrukās visus diapazona () elementus. Izmantojot sarakstu (), elementi no diapazona () tiks atgriezti saraksta formātā.

Piemērs:

print(list(range(10)))

Izeja:

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

Tas dod saraksta izvadi norādītajam diapazonam.

Piemērs: iegūstiet pāra skaitļus, izmantojot diapazonu ()

Izmantojot diapazonu (), tiks iegūts pāra skaitļu saraksts diapazonā, kas norādīts kā ievade. Diapazona () parametri ir, sākums ir 2, apstāšanās ir 20 un solis ir 2, tāpēc vērtības tiks palielinātas par 2 un piešķirs pāra skaitļus līdz pieturai-2.

Piemērs:

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

Izeja:

2 4 6 8 10 12 14 16 18

Divu diapazonu () izeju apvienošana

Šajā piemērā tiks savienotas 2 diapazona () funkcijas, izmantojot itertools moduļu ķēdes () funkciju.

Piemērs:

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

Izeja:

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

Range () izmantošana ar NumPy

NumPy modulim ir funkcija arange (), kas darbojas un dod līdzīgu izvadi, piemēram, diapazons (). Organizēt () ņem tādus pašus parametrus kā diapazons ().

Sintakse:

arange(start, stop, step)

Lai strādātu ar NumPy, veiciet tālāk norādītās darbības.

1. darbība : importējiet NumPy moduli

import numpy

Iekļaut izpildes laikā, rodas kļūda, sakot, ka numpy modulis nav atrasts, modulis jāinstalē, kā parādīts 2. darbībā.

2. darbība : instalējiet NumPy

pip install numpy

3. solis : Arange () piemērs, izmantojot NumPy

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

Izeja:

0 1 2 3 4 5 6 7 8 9

Peldošo punktu skaitļi, izmantojot NumPy arange ()

Izmantojot diapazonu (), nav iespējams iegūt peldošā komata secību, bet tas ir iespējams, izmantojot NumPy arange ().

Piemērs:

Mēs vēlamies diapazonu no 0,5 līdz 1,5. Vērtība tiks palielināta par 0,2.

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

Izeja:

0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998

Iegūtais rezultāts ir nedaudz dīvains, daži no pludiņa skaitļiem ir parādīti ar 16 zīmēm aiz komata. Tas notiek tāpēc, ka decimālo peldošo skaitļu uzglabāšana binārā formātā ir sarežģīta. Vajadzības gadījumā varat arī noapaļot vērtības un ierobežot tās līdz vajadzīgajām zīmēm aiz komata.

Kopsavilkums:

  • Python diapazons () ir iebūvēta funkcija, kas pieejama ar Python no Python (3.x), un tā dod skaitļu secību, pamatojoties uz norādīto sākuma un beigu indeksu. Gadījumā, ja sākuma indekss nav norādīts, indekss tiek uzskatīts par 0, un tas palielinās vērtību līdz stop indeksam.
  • Python diapazons () ir ieviests no python versijas 3, pirms tam funkcija xrange () bija.
  • Diapazons () dod skaitļu secību un atgriež skaitļu sarakstu. Funkcija xrange () dod ģeneratora objektu, kas jāapvieno for-loop, lai iegūtu vērtības.
  • Parametra soli diapazonā () var izmantot, lai palielinātu / samazinātu vērtības. Pēc noklusējuma tā ir pozitīva vērtība 1. Tātad tā vienmēr sniegs palielinātas vērtības.
  • Python dod kļūdu peldošā komata skaitļiem, jo ​​funkcija range () atbalsta tikai veselu skaitļu vērtības.
  • Vērtībām no diapazona () var piekļūt, izmantojot for-loop, izmantojot indeksu un sarakstu ()
  • NumPy modulim ir funkcija arange (), kas darbojas un dod līdzīgu izvadi, piemēram, diapazons (). Apelsīnam () ir tādi paši parametri kā diapazonam ().
  • Izmantojot diapazonu (), ir iespējams iegūt peldošo punktu secību NumPy arange (), kas netiek atbalstīta.