vmolostvov
@vmolostvov

Как начать цикл for с заданного элемента?

Привет всем. Как начать итерацию по списку с заданного индекса? Пример:
forms = [1, 2, 3, 4, 4, 34, 456, 6, 7, 8] 
        for form in forms:
            print(form)


Необходимо, чтобы print() выводил элементы начиная к примеру со второго элемента списка.
Единственный вариант вижу такой, но мне кажется это тупо:
forms = [1, 2, 3, 4, 4, 34, 456, 6, 7, 8]
        num = 0
        for form in forms:
            if num > 1:
                print(form)
            num += 1


Помогите...
  • Вопрос задан
  • 1881 просмотр
Пригласить эксперта
Ответы на вопрос 1
@Arrovv
Здравствуйте, очень странно что до сих пор никто не помог,

я вижу 2 варианта решения данной проблемы.

1) начинать итерацию с уже урезанного массива, например for form in forms[1:] дальше print(form)
2) использовать for num,form in enumerate(forms), таким образом вы избавитесь от сложения, что в разы увеличит скорость работы скрипта, кто бы что не говорил но enumerate работает быстрее numba, и пока ничто другое не работало с циклом так быстро, либо я не находил.

если кому то непонятно или не разобрались о чем я,пришлю готовый код на вашем примере(ctrl + c, ctrl +v) не забываем

forms = [1, 2, 3, 4, 4, 34, 456, 6, 7, 8]
for form in forms[1:]:
    print(form)

#2,3,4,4,34,456,6,7,8

forms = [1, 2, 3, 4, 4, 34, 456, 6, 7, 8]
for num,form in enumerate(forms):
    if num > 1:
        print(form)


Ваш вариант тоже рабочий, если дело касается маленьких скриптов, спасибо
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы