Что из себя представляют range объекты и в чем их отличие от списков?

range в Python представляет собой объект, предназначенный для представления последовательности чисел. Он используется в основном в циклах for для указания диапазона повторений. range создает объект, который представляет собой арифметическую прогрессию чисел.

Основные отличия между range и списками:

  1. Хранение данных:

    • range не хранит все значения в памяти. Вместо этого он генерирует значения по мере необходимости.

    • Списки хранят все свои значения в памяти сразу.

  2. Использование памяти:

    • range более экономичен в использовании памяти для больших диапазонов, так как он генерирует значения по мере необходимости.

    • Списки занимают память для хранения всех своих элементов.

  3. Возможности:

    • range не поддерживает прямое обращение к элементам, срезы или изменение значений. Он предоставляет только последовательность значений.

    • Списки поддерживают прямой доступ, срезы и могут быть изменены.

Примеры использования range:

# Создание range объекта
my_range = range(5)  # Последовательность от 0 до 4

# Итерация по range в цикле for
for i in my_range:
    print(i)

Списки могут быть созданы из range с использованием конструктора list():

my_list = list(range(5))
print(my_list)  # Выведет: [0, 1, 2, 3, 4]

Last updated