Діапазон Python () Функція: Float, List, For examples

Зміст:

Anonim

Що таке діапазон 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, in for 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, 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, щоб отримати значення з діапазону, або використовувати індекс для доступу до елементів з діапазону ().

Використання 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 ().