Типът range () връща неизменяема поредица от числа между даденото начално цяло число до стоп цяло число.
range()
конструктор има две форми на дефиниция:
обхват (стоп) обхват (старт, стоп (, стъпка))
range () Параметри
range()
отнема основно три аргумента, които имат еднаква употреба и в двете дефиниции:
- start - цяло число, започващо от което трябва да се върне последователността от цели числа
- stop - цяло число, пред което трябва да се върне последователността от цели числа.
Обхватът на целите числа завършва наstop - 1
. - стъпка (по избор) - целочислена стойност, която определя нарастването между всяко цяло число в последователността
Върната стойност от диапазон ()
range()
връща неизменяем обект на последователност от числа в зависимост от използваните дефиниции:
обхват (стоп)
- Връща последователност от числа, започващи от
0
доstop - 1
- Връща празна последователност, ако
stop
еnegative
или0
.
обхват (старт, стоп (, стъпка))
Възвръщаемата стойност се изчислява по следната формула с дадените ограничения:
r (n) = начало + стъпка * n (както за положителна, така и за отрицателна стъпка) където n> = 0 и r (n) = 0 и r (n)> стоп (за отрицателна стъпка)
- (Ако не
step
) Стъпка по подразбиране е 1. Връща последователност от числа, започващи отstart
и завършващи наstop - 1
. - (ако
step
е нула) ИзвеждаValueError
изключение - (ако
step
е ненулево) Проверява дали е изпълнено ограничението за стойност и връща последователност съгласно формулата
Ако не отговаря на ограничението на стойността, се връща Празна последователност.
Пример 1: Как работи диапазонът в Python?
# empty range print(list(range(0))) # using range(stop) print(list(range(10))) # using range(start, stop) print(list(range(1, 10)))
Изход
() (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (1, 2, 3, 4, 5, 6, 7, 8, 9)
Забележка: Преобразувахме диапазона в списък на Python, тъй като range()
връща подобен на генератор обект, който отпечатва изхода само при поискване.
Обектът на диапазона, върнат от конструктора на диапазон, обаче може да бъде достъпен и чрез неговия индекс. Той поддържа както положителни, така и отрицателни индекси.
Можете да получите достъп до обекта на диапазон чрез индекс като:
rangeObject (индекс)
Пример 2: Създайте списък с четно число между дадените числа, като използвате диапазон ()
start = 2 stop = 14 step = 2 print(list(range(start, stop, step)))
Изход
(2, 4, 6, 8, 10, 12)
Пример 3: Как диапазонът () работи с отрицателна стъпка?
start = 2 stop = -14 step = -2 print(list(range(start, stop, step))) # value constraint not met print(list(range(start, 14, step)))
Изход
(2, 0, -2, -4, -6, -8, -10, -12) ()