Разница между range() и for в Python заключается в их назначении:
Функция range() используется для построения числовых последовательностей. 2 В неё можно передать от одного до трёх аргументов: если аргумент один, то сформируется диапазон от нуля до числа, предшествующего значению аргумента. 1 Если аргументов два, то сформируется диапазон от значения первого аргумента до числа, предшествующего значению второго аргумента. 1 Если аргументов три, то первые два работают, как в прошлом случае, а третий означает шаг, с которым числа следуют друг за другом. 1
Цикл for присваивает итерируемой переменной каждое значение из предоставленного списка, массива или строки и повторяет код в теле цикла for для каждого установленного таким образом значения переменной-итератора. 3 Главное условие успешной работы цикла — объект должен быть итерируемым. 4 Итерацию проводят по многим встроенным структурам данных: строки, словари, списки, множества, кортежи. 4