Що таке діапазон Python?
Діапазон Python () - це вбудована функція, доступна з Python з Python (3.x), і вона дає послідовність чисел на основі заданого індексу початку та зупинки. Якщо індекс старту не вказаний, індекс вважається 0, і він збільшить значення на 1 до індексу зупинки.
Наприклад, діапазон (5) видасть вам значення 0,1,2,3,4. Діапазон Python () є дуже корисною командою і в основному використовується, коли вам потрібно виконати ітерацію за допомогою циклу for.
У цьому підручнику ви дізнаєтесь:
- Що таке діапазон Python?
- Синтаксис
- Діапазон Python () Функція та історія
- Використання діапазону ()
- Використання старту та зупинки в діапазоні ()
- Використовуючи пуск, зупинку та крок
- Збільшення значень у діапазоні за допомогою позитивного кроку.
- Зворотний діапазон: Зменшення значень за допомогою негативного кроку.
- Використання плаваючих чисел у діапазоні Python ()
- Використання for-loop з діапазоном Python ()
- Використання діапазону Python () як списку
- Використання символів у діапазоні python ()
- Як отримати доступ до елементів діапазону
- Приклад: Отримати парні числа за допомогою діапазону ()
- Об'єднання дводіапазонних () виходів
- Використання діапазону () з NumPy
Синтаксис
range(start, stop, step)
Параметри
- start: (необов’язково) Індекс запуску є цілим числом, і якщо не вказано, значення за замовчуванням - 0.
- stop: індекс зупинки визначає значення, при якому функція діапазону повинна зупинитися. Це обов’язковий вхід до функції діапазону. Останнє значення завжди буде на 1 менше значення зупинки.
- крок: (необов’язково). Значення кроку - це число, на яке слід збільшити наступне число - діапазон, за замовчуванням - 1.
Повернене значення:
Повернене значення - це послідовність чисел від заданого індексу початку до зупинки.
Діапазон Python () Функція та історія
Діапазон Python () був введений з версії python 3, до цього функцією була xrange ().
І діапазон, і xrange () використовуються для створення послідовності чисел.
Нижче наведено різницю між діапазоном та xrange ():
діапазон () | xrange () |
Діапазон () дає послідовність чисел і повертає список чисел. | Функція xrange () дає об'єкт-генератор, який потрібно зациклювати у циклі for, щоб отримати значення. |
Діапазон () повертає список. | xrange () повертає об'єкт генератора. |
Метод range () використовує більше пам'яті, оскільки повернутий список потрібно зберігати порівняно з xrange (). | Оскільки xrange () повертає об'єкт генератора, він не дає миттєвих значень і повинен бути використаний всередині циклу for, щоб отримати значення. |
Використання пам'яті більше, отже, виконання коду є повільним при роботі з величезним набором даних. | Виконання коду відбувається швидше за допомогою xrange (). |
Використання діапазону ()
Цей приклад показує, як надрукувати значення від 0-9 за допомогою діапазону ().
Значення, яке використовується в діапазоні, дорівнює 10, тому вихідний результат 0 1 2 3 4 5 6 7 8 9
Оскільки старту не дано, старт вважається 0, а останнє значення - до 9. Останнє значення завжди на 1 менше, ніж дане значення, тобто stop-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
Наразі ми бачили, як функція range () дає збільшене значення для заданого значення зупинки. Давайте спробуємо на прикладі отримати зменшене значення в заданому діапазоні.
Збільшення значень у діапазоні за допомогою позитивного кроку.
Крок параметра в діапазоні () можна використовувати для збільшення / зменшення значень. За замовчуванням це додатне значення 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. З вищевказаними входами функція range () буде зменшувати значення з 15, до досягнення значення зупинки, але тут різниця полягає в тому, що останнє значення буде stop + 1.
Використання плаваючих чисел у діапазоні Python ()
Давайте тепер попрацюємо над діапазоном (), використовуючи числа з плаваючою комою.
Приклад:
for i in range(10.5):print(i, end =" ")
У наведеному вище прикладі ми використовували значення зупинки як 10,5.
Результат:
Traceback (most recent call last):File "python_range.py", line 1, infor i in range(10.5):TypeError: 'float' object cannot be interpreted as an integer
Python видає помилку, оскільки функція range () не підтримує числа з плаваючою комою для запуску, зупинки та кроку.
Використання for-loop з діапазоном Python ()
У цьому прикладі ми будемо використовувати масив чисел і, давайте подивимося, як використовувати ітерацію масиву всередині цикла for, використовуючи range ()
Приклад:
arr_list = ['Mysql', 'Mongodb', 'PostgreSQL', 'Firebase']for i in range(len(arr_list)):print(arr_list[i], end =" ")
Вихід:
MysqlMongodb PostgreSQL Firebase
У наведеному вище прикладі ми використовували len (arr_list) як значення зупинки. Цикл for буде повторювати до значення зупинки, тобто довжини масиву, і це буде 4, оскільки у нас є чотири елементи у списку arr_list. Початкове значення буде 0, а крок - 1. Отже, значення починатимуться з 0 і зупинятимуться на 3, тобто довжина масиву -1, що означає 4 -1 = 3.
Використання діапазону Python () як списку
У цьому прикладі ми побачимо, як використовувати вихідні дані з діапазону як списку.
Приклад:
print(list(range(10)))
Вихід:
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
Ви бачите, що результат - формат списку. Не потрібно було циклізувати діапазон (), а за допомогою методу list () ми могли безпосередньо перетворити вихідні дані з діапазону у формат списку.
Використання символів у діапазоні python ()
Наразі ми використовували цілі числа в python range (). Ми також бачили, що числа з плаваючою комою не підтримуються в діапазоні python. Давайте спробуємо побачити результат, що відбувається, коли ми використовуємо символи.
Приклад:
for c in range ('z'):print(c, end =" ")
Вихід:
Traceback (most recent call last):File "python_range.py", line 1, infor 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, щоб отримати значення з діапазону, або використовувати індекс для доступу до елементів з діапазону ().
Використання for-loop
Приклад:
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)
Використання списку ()
Цей метод друкує всі елементи з діапазону (). Використовуючи list (), він поверне елементи з діапазону () у форматі списку.
Приклад:
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 функції діапазону () за допомогою функції ланцюжка () модуля itertools ().
Приклад:
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
Використання діапазону () з NumPy
Модуль NumPy має функцію arange (), яка працює і видає подібні результати, як діапазон (). Аранжування () приймає ті самі параметри, що й діапазон ().
Синтаксис:
arange(start, stop, step)
Для роботи з NumPy виконайте наведені нижче дії.
Крок 1 : Імпорт модуля NumPy
import numpy
У випадку, коли під час виконання, виникає помилка, коли модуль numpy не знайдено, вам потрібно встановити модуль, як показано на кроці 2.
Крок 2 : Встановіть NumPy
pip install numpy
Крок 3 : Робочий приклад arange () за допомогою NumPy
import numpy as npfor i in np.arange(10):print(i, end =" ")
Вихід:
0 1 2 3 4 5 6 7 8 9
Числа з плаваючою комою за допомогою NumPy arange ()
Отримати послідовність з плаваючою точкою за допомогою діапазону () неможливо, але можна за допомогою NumPy arange ().
Приклад:
Діапазон, який ми хочемо, становить від 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 знаками після коми. Це відбувається через складність зберігання десяткових плаваючих чисел у двійковому форматі. Ви також можете округлити значення, якщо потрібно, і обмежити їх до десяткових знаків, які вам потрібні.
Короткий зміст:
- Діапазон Python () - це вбудована функція, доступна з Python з Python (3.x), і вона дає послідовність чисел на основі заданого індексу початку та зупинки. Якщо початковий індекс не вказаний, індекс вважається 0, і він буде збільшувати значення до індексу зупинки.
- Діапазон Python () був введений з версії python 3, до цього функцією xrange () була.
- Діапазон () дає послідовність чисел і повертає список чисел. Функція xrange () дає об'єкт-генератор, який потрібно зациклювати у циклі for, щоб отримати значення.
- Крок параметра в діапазоні () можна використовувати для збільшення / зменшення значень. За замовчуванням це додатне значення 1. Отже, воно завжди даватиме збільшені значення.
- Python видає помилку для чисел із плаваючою комою, оскільки функція range () підтримує лише цілі значення.
- До значень з діапазону () можна отримати доступ за допомогою циклу for, використовуючи index і list ()
- Модуль NumPy має функцію arange (), яка працює і видає подібні результати, як діапазон (). Arange () приймає ті самі параметри, що і range ().
- Можна отримати послідовність з плаваючою точкою NumPy arange (), яка не підтримується за допомогою range ().