Питхон опсег () Функција: Флоат, Лист, фор Примери петље

Преглед садржаја:

Anonim

Шта је опсег Питхон?

Питхон ранге () је уграђена функција доступна са Питхон-ом из Питхона (3.к) и даје низ бројева на основу датог индекса почетка и заустављања. У случају да почетни индекс није дат, индекс се сматра 0 и повећаће вредност за 1 до зауставног индекса.

На пример, опсег (5) ће вам дати вредности 0,1,2,3,4. Питхон ранге () је врло корисна наредба и углавном се користи када морате итерацију помоћу петље фор.

У овом упутству ћете научити:

  • Шта је опсег Питхон?
  • Синтакса
  • Питхон опсег () Функција и историја
  • Коришћење опсега ()
  • Коришћење старт и стоп у домету ()
  • Користећи старт, стоп и степ
  • Повећавање вредности у опсегу помоћу позитивног корака.
  • Обрнути опсег: Смањивање вредности помоћу негативног корака.
  • Коришћење плутајућих бројева у Питхон опсегу ()
  • Коришћење фор-лооп са Питхон опсегом ()
  • Коришћење Питхон ранге () као листе
  • Коришћење знакова у опсегу питхон ()
  • Како приступити елементима опсега
  • Пример: Добијање парних бројева помоћу опсега ()
  • Спајање излаза са два опсега ()
  • Коришћење домета () са НумПи

Синтакса

range(start, stop, step)

Параметри

  • старт: (опционално) Почетни индекс је цео број, а ако није дат, подразумевана вредност је 0.
  • стоп: индекс заустављања одређује вредност на којој функција опсега мора да се заустави. То је обавезан улаз за функцију опсега. Последња вредност ће увек бити 1 мања од вредности заустављања.
  • корак: (опционално). Вредност корака је број за који је следећи број опсег који се мора увећати, по дефаулту је 1.

Повратна вредност:

Повратна вредност је низ бројева од датог индекса почетка до заустављања.

Питхон опсег () Функција и историја

Питхон ранге () је уведен од питхон верзије 3, пре него што је кранге () био функција.

И опсег и кранге () користе се за стварање низа бројева.

Следе разлике између опсега и кранге ():

домет() кранге ()
Распон () даје низ бројева и враћа листу бројева. Функција кранге () даје објекат генератора који треба петље у фор-лооп да би добио вредности.
Распон () враћа листу. кранге () враћа објекат генератора.
Метода ранге () користи више меморије јер се враћена листа мора сачувати у поређењу са кранге (). Како кранге () враћа објекат генератора, он не даје вредности тренутно и мора се користити унутар фор-лооп да би добио вредности.
Коришћење меморије је више, стога је извршавање кода споро када се ради на огромном скупу података. Извршење кода је брже помоћу кранге ().

Коришћење опсега ()

Овај пример показује како се штампају вредности од 0-9 помоћу распона ().

Вредност која се користи у опсегу је 10, тако да је излаз 0 1 2 3 4 5 6 7 8 9

Будући да старт није дат, почетак се сматра 0, а задња вриједност даје се до 9. Посљедња вриједност је увијек за 1 мања од задате вриједности, односно стоп-1.

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

Излаз:

0 1 2 3 4 5 6 7 8 9

Коришћење старт и стоп у домету ()

У коду је почетна вредност 3, а зауставна вредност 10. Овде је почетни индекс 3, па ће низ бројева започети од 3 до зауставне вредности. Последња вредност у низу биће за 1 мања од вредности заустављања 10-1 = 9.

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

Излаз:

3 4 5 6 7 8 9

Користећи старт, стоп и степ

Почетна вредност је 3, па ће низ бројева започети на 3. Вредност заустављања је 10, па ће се низ бројева зауставити на (10-1), тј. 9. Корак је 2, па ће свака вредност у низу бити увећан за 2. Ако вредност корака није дата, вредност за корак подразумевано је 1.

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

Излаз:

3 5 7 9

До сада смо видели како функција ранге () даје увећану вредност за задату вредност заустављања. Покушајмо сада на примеру да добијемо смањену вредност у датом опсегу.

Повећавање вредности у опсегу помоћу позитивног корака.

Корак параметра у опсегу () може се користити за повећање / смањење вредности. Подразумевано је позитивна вредност 1. Дакле, увек ће давати увећане вредности.

Вредност корака мора бити позитивна ако желите да повећане вредности излазе.

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

Излаз:

1 6 11 16 21 26

Обрнути опсег: Смањивање вредности помоћу негативног корака.

Корак параметра са негативном вредношћу у опсегу () може се користити за добијање декрементираних вредности. У примеру испод, вредност корака је негативна, па ће излаз бити умањен од дате вредности опсега.

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

Излаз:

15 14 13 12 11 10 9 8 7 6

Почетна вредност је 15, зауставна вредност је 5, а вредност корака је негативан број, тј. -1. Са горе наведеним улазима функција ранге () ће смањивати вредност од 15 па надаље док не достигне зауставну вредност, али овде је разлика последња вредност која ће бити стоп + 1.

Коришћење плутајућих бројева у Питхон опсегу ()

Хајде сада да радимо на опсегу () помоћу бројева са покретном зарезом.

Пример:

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

У горњем примеру користили смо зауставну вредност као 10,5.

Излаз је:

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

Питхон даје грешку јер функција ранге () не подржава бројеве са покретном зарезом за старт, стоп и корак.

Коришћење фор-лооп са Питхон опсегом ()

У овом примеру ћемо користити низ бројева и, да видимо како да користимо итерацију низа унутар фор-лооп користећи ранге ()

Пример:

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

Излаз:

MysqlMongodb PostgreSQL Firebase

У горњем примеру користили смо лен (арр_лист) као зауставну вредност. Петља фор ће се поновити до вредности заустављања, тј. Дужине низа и то ће бити 4, јер у арр_листу имамо четири ставке. Почетна вредност ће бити 0, а корак 1. Дакле, вредности ће почети од 0 и зауставит ће се на 3, тј. Дужини низа -1, што значи 4 -1 = 3.

Коришћење Питхон ранге () као листе

У овом примеру ћемо видети како да користимо излаз из опсега као листу.

Пример:

print(list(range(10)))

Излаз:

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

Можете видети да је излаз формат записа. Није било потребно петљу опсега () користити методом лист () да бисмо могли директно претворити излаз из опсега у формат листе.

Коришћење знакова у опсегу питхон ()

До сада смо користили целе бројеве у питхон ранге (). Такође смо видели да бројеви са помичном зарезом нису подржани у опсегу питхон. Покушајмо да видимо шта се дешава када користимо знакове.

Пример:

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

Излаз:

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

Добацује грешку говорећи да се низ не може тумачити као цео број.

Да бисте добили листу абецеда, можете прилагодити код и добити жељене излазне вредности приказане доле:

Пример:

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

Излаз:

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

Како приступити елементима опсега

Можете да користите фор-лооп да бисте добили вредности из опсега или да користите индекс за приступ елементима из ранге ().

Коришћење фор-лооп

Пример:

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

Излаз:

012345

Коришћење индекса

Индекс се користи са опсегом да би се добила вредност доступна на тој позицији. Ако је вредност опсега 5, да бисте добили почетну вредност, можете користити опсег (5) [0] и следећи опсег вредности (5) [1] и тако даље.

Пример:

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)

Излаз:

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)

Коришћење листе ()

Ова метода ће исписати све елементе из опсега (). Коришћењем лист () вратиће елементе из распона () у формату листе.

Пример:

print(list(range(10)))

Излаз:

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

Даје излазне податке за дати опсег.

Пример: Добијање парних бројева помоћу опсега ()

Коришћење ранге () ће добити листу парних бројева у опсегу датом као улаз. Параметри за ранге () су, старт је 2, стоп је 20 и корак је 2, тако да ће вредности бити увећане за 2 и даће парне бројеве до стоп-2.

Пример:

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

Излаз:

2 4 6 8 10 12 14 16 18

Спајање излаза са два опсега ()

У овом примеру ће се спојити 2 функције ранге () уз помоћ функције ланца итертоолс модуле ().

Пример:

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

Излаз:

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

Коришћење домета () са НумПи

НумПи модул има функцију аранге () која ради и даје сличне резултате као ранге (). Аранжман () узима исте параметре попут распона ().

Синтакса:

arange(start, stop, step)

Да бисте радили са НумПи, следите кораке дате у наставку.

Корак 1 : Увоз НумПи модула

import numpy

У случају да се изврши, приказује се грешка, јер нумпи модул није пронађен, морате да инсталирате модул како је приказано у кораку 2.

Корак 2 : Инсталирајте НумПи

pip install numpy

Корак 3 : Пример рада аранге () помоћу НумПи-а

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

Излаз:

0 1 2 3 4 5 6 7 8 9

Бројеви са покретном тачком помоћу НумПи аранге ()

Није могуће добити секвенцу са покретном тачком помоћу опсега (), али је могуће помоћу НумПи аранге ().

Пример:

Опсег који желимо је од 0,5 до 1,5. Вредност ће бити увећана за 0,2.

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

Излаз:

0.5 0.7 0.8999999999999999 1.0999999999999999 1.2999999999999998

Резултат који добијемо је мало чудан, неки бројеви с пловком приказани су са 16 децималних места. То се догађа због сложености чувања децималних плутајућих бројева у бинарном формату. Такође можете заокружити вредности ако је потребно и ограничити их на децимална места која су вам потребна.

Резиме:

  • Питхон ранге () је уграђена функција доступна са Питхон-ом из Питхона (3.к) и даје низ бројева на основу датог индекса почетка и заустављања. У случају да почетни индекс није дат, индекс се сматра 0 и он ће повећавати вредност до зауставног индекса.
  • Питхон ранге () је уведен од питхон верзије 3, пре него што је кранге () био функција.
  • Распон () даје низ бројева и враћа листу бројева. Функција кранге () даје објекат генератора који треба петље у фор-лооп да би добио вредности.
  • Корак параметра у опсегу () може се користити за повећање / смањење вредности. Подразумевано је позитивна вредност 1. Дакле, увек ће давати увећане вредности.
  • Питхон даје грешку за бројеве са помичном зарезом јер функција ранге () подржава само целобројне вредности.
  • Вредностима из ранге () може се приступити помоћу фор-лооп, користећи индек и лист ()
  • НумПи модул има функцију аранге () која ради и даје сличне резултате као ранге (). Аранге () узима исте параметре као и ранге ().
  • Могуће је добити секвенцу с помичном тачком НумПи аранге () која није подржана помоћу ранге ().