12 незаменимых примеров команды loop в Python

Цикл является важным аспектом любого языка программирования.
В Python, цикл является очень гибким и мощным.
В этой статье мы объясним следующие примеры цикла в Python.
- Цикл в Python для чисел
- Цикл в Python для строк
- Использование по умолчанию функций диапазонов в цикле
- Цикл в Python с пользовательским начальных и конечных чисел
- Цикл в Python с возрастающими числами
- Цикл в Python для диапазона с отрицательными значениями
- Заявление Continue внутри цикла в Python
- Заявление Break внутри цикла в Python
- Может ли цикл иметь else без if?
- Комбинация Else и Break внутри цикла в Python
- Вложенные циклы в Python
- Обработка List-of-Lists в цикле в Python
Ниже приведен общий синтаксис для цикла в Python:
for {variable} in {some-sequence-type}: {python-statements} else: {python-statements}
В Python, цикл может перебирать несколько типов последовательностей, таких как списки, строки, кортежи и т.д.
1. Цикл в Python для чисел
Чтобы перебрать список чисел, мы просто должны создать список чисел и передать его в качестве аргумента для цикла, как показано ниже.
# cat for1.py for i in [1, 2, 3, 4, 5]: print(i)
В приведенном выше примере:
- Это цикл пройдет по всем числам в данном списке (то есть от 1 до 5), а затем распечатает их.
- Здесь мы непосредственно имеем данный список [1, 2, 3, 4, 5] в качестве аргумента для цикла.
- Отдельные пункты в списке должны быть разделены запятой.
- Не забудьте указать двоеточие [:] в конце для линии контура. Это является частью синтаксиса.
- Вы также можете сохранить список в переменную, и передать эту переменную в качестве аргумента для цикла.
- Для каждой итерации цикла, каждое значение снимаемого из списка, хранится в заданной переменной в течение цикла. В этом примере, переменная «i».
- Внутри цикла мы имеем только одно утверждение, которое является print, которая принимает значение от отдельного элемента из переменной i и выводит его на экран.
- Если вы хотите выполнить несколько операторов для каждой итерации для цикла, то отступы их соответствующим образом (т.е. поставить их на том же уровне, что и команда print).
Ниже приведен вывод программы выше:
# python for1.py 1 2 3 4 5
2. Цикл в Python для строк
Как и перечисление выше списка чисел, вы также можете перебрать список строк, как показано в следующем примере:
# cat for2.py names = ["andreyex", "oleg", "lena"] for i in names: print(i)
В приведенном выше примере:
- Мы пробегаем по трем имени и распечатываем их один за другим.
- «names» — это переменная, которая имеет список, который в свою очередь, содержит три строки элементов.
- Отдельные элементы в списке имен должны быть разделены запятой.
- Кроме того, убедитесь, что вы заключите отдельные значения строки в двойных кавычках.
- Опять же, не забудьте поставить двоеточие в конце для оператора цикла. Это двоеточие является частью синтаксиса команды.
Ниже приведен выход программы выше:
# python for2.py andreyex oleg lena
3. Использование по умолчанию функций диапазонов в цикле
В Python, когда вы имеете дело с циклом по числам, вы можете использовать функцию диапазона, что чрезвычайно удобно.
Функция range произведет список цифр на основе заданных критериев.
В следующем примере, аргумент функции диапазона 5. Давайте посмотрим, как цикл поведет себя.
# cat for3.py for i in range(5): print(i)
Следующий вывод напечатал 5 строк. Но, как вы видите, она начинается с 0 (вместо 1).
# python for3.py 0 1 2 3 4
[gn_box title=»Примечание:» box_color=»#4f6bf5″]Опять же, если указать range(х), убедитесь, что вы обращаете внимание на то, что функция диапазона по умолчанию всегда будет начинаться с номера 0, а затем генерировать «х» количество чисел.[/gn_box] [gn_box title=»Примечание:» box_color=»#4f6bf5″]Вы можете также использовать xrange вместо range. Для практической цели, она будет вести себя точно так же. Но, когда вы имеете дело с огромным списком более 1000-х чисел, xrange рекомендуется, так как она быстрее. Функция xrange будет генерировать числа, которые требуются по требованию. Но, диапазон будет генерировать все цифры, когда она вызывается.[/gn_box]
4. Цикл в Python с пользовательским начальных и конечных чисел
Если вы не хотите, чтобы последовательность чисел начиналась с 0, вы можете также указать начальное число и конечное значения в функции range, как показано в примере ниже.
# cat for4.py for i in range(1,6): print(i)
В приведенном выше примере:
- Диапазон (1,6) — Мы определили начальную и конечную величину в функции range.
- Одна важная вещь, здесь является тот факт, что функция будет начинаться с цифрой «1». Но, кол-во значений будет печататься 5 (а не 6).
- Если вы хотите, последовательность 1 .. п, то ваш диапазон должен быть: диапазон (1, п + 1).
- Таким образом, в этом примере, мы хотели последовательность от 1 .. 5 и мы дали диапазон, range(1,6). т.е. конечное значение равно п + 1.
Ниже приведен вывод программы выше. Опять же, обратите внимание, что она начинается с 1 и заканчивается через 5 (а не 6).
# python for4.py 1 2 3 4 5
5. Цикл в Python с возрастающими числами
Помимо указания начального и конечного значения, мы можем также указать приращение числа.
Например, если вы хотите получить последовательность: 1, 3, 5, 7, 9, …, то приращение значение в этом случае будет 2, так как мы увеличиваем следующее значение на 2.
В следующем примере, мы генерируем число от 1 до 6 с шагом 2.
# cat for5.py for i in range(1,6,2): print(i)
Ниже приведен вывод программы выше.
# python for5.py 1 3 5
Опять же, как вы видите здесь, когда мы даем 6 в качестве конечного значения, он будет идти только до 5. В этом случае мы также увеличивающимся на 2. Просто чтобы быть ясно:
- Диапазон (1,6,2) — напечатает 1,3 и 5
- Диапазон (1,5,2) — будет печатать только 1 и 3
6. Цикл в Python для диапазона с отрицательными значениями
В функции диапазона внутри для цикла, мы можем также указать отрицательные значения.
В приведенном ниже примере, мы используем отрицательные числа для конечного значения (-5) и приращения стоимости (-2).
# cat for6.py for i in range(4,-5,-2): print(i)
Ниже приведен выход программы выше:
# python for6.py 4 2 0 -2 -4
Как видно из приведенного выше вывода, последовательность начинается с начального значения (которая составляет 4), а затем увеличивает следующее значение числа (равное -2), и продолжает идти весь путь до конца.
7. Заявление Continue внутри цикла в Python
Вы можете использовать заявление «continue» внутри Python для цикла. При выполнение в цикле заявления «continue», он не будет выполнять остальную часть кода в блоке цикла, вместо этого он начнет цикл снова для следующего элемента в списке.
В следующем примере показано, как продолжить работу внутри continue для цикла.
# cat for7.py names = ["andreyex", "lena", "oleg", "lena"] for i in names: if i != "lena": continue print(i) print("--end--")
В приведенном выше примере:
- Цикл пробегает по списку, который имеет 4 название.
- Есть два заявления в блоке цикла (заявление if и оператор print)
- Заявление if «по-прежнему» внутри него, будут выполнено только тогда, когда имя будет не равно по списку.
- Таким образом, в этом случае, когда имя равно lena, то он будет выполнять 2-ое заявление (т.е. оператор print).
- Но всякий раз, когда имя не совпадает с lena, цикл будет идти внутри после заявления if, и выполнять заявление continue. Это означает, что он не будет выполнять остальную часть заявлений в течение цикла, то есть он не будет выполнять оператор печати. Но, будет продолжать идти к началу цикла и начать процесс для следующего элемента в списке.
- Обратите внимание, что последний оператор печати вне цикла, который будет выполнен после того, как все элементы в списке обработаются.
Ниже приведен вывод программы выше:
# python for7.py lena lena --end--
8. Заявление Break внутри цикла в Python
Точно так же как заявление continue, вы можете также указать «break» внутри вашего цикла в Python.
Как вы можете себе представить, если в цикле встречается «break», то он полностью остановит итерацию цикла и выйдет из цикла. После заявления «break», он не будет обрабатывать оставшиеся элементы в списке из цикла.
В следующем примере показано, как работает break.
# cat for8.py names = ["andreyex", "lena", "oleg", "lena"] for i in names: if i == "oleg": break print(i) print("--end--")
Как видно из следующего вывода, в случае, когда название будет равно «oleg», она выйдет для цикла. В этом случае, «oleg» является третьим пунктом в списке. Таким образом, наш цикл напечатает только 1-ые два имени.
# python for8.py andreyex lena --end--
9. Может ли цикл иметь else без if?
Это уникальная особенность в Python.
Как правило, мы используем «else» только в сочетании с заявлением «if», как мы объяснили ранее.
Но, в Python, мы можем использовать «else» в сочетании с заявлением «for», как объяснено в данном примере.
Все, что внутри блока else в цикле будет выполнено, когда цикл терпит неудачу, как показано ниже.
# cat for9.py names = ["andreyex", "oleg", "lena"] for i in names: print(i) else: print("условие для цикла потерпело неудачу!")
В приведенном выше примере:
- Мы использовали этот простой пример только, чтобы понять, как работает «else» с «for».
- Как вы заметили, что нет здесь команды «if». Так, «else» действительно часть команды «for».
- «else» должна быть последней в блоке цикла for.
- В этом простом примере, для цикла не получится тогда, когда он обработает все элементы в списке, так как он не может больше обрабатывать. Таким образом, в этом случае, «else» будет выполнена.
- Итак, все, что внутри еще будет выполняться после того, пока все элементы будут обработаны.
Ниже приведен результат приведенного выше примера:
# python for9.py andreyex oleg lena условие для цикла потерпело неудачу!
Это может звучать так, что нам на самом деле не нужен «else» внутри «for», если он только запускается на выполнение в конце цикла для итерации.
Но следующий пример прояснит немного больше о том, какое преимущество «else» имеет внутри для цикла.
10. Комбинация Else и Break внутри цикла в Python
В предыдущем примере, мы объяснили, как «else» работает внутри цикла, которая является уникальным для Python.
Одна важная вещь, чтобы понять, что если у вас есть заявление «break» в вашем блоке цикла, то «другая» часть не будет выполнена.
Следующий пример объясняет поведение комбинации break и else внутри для цикла.
# cat for10.py names = ["andreyex", "lena", "oleg", "lena"] for i in names: if i == "oleg": break print(i) else: print("условие для цикла потерпело неудачу!") print("--end--")
Как видно из приведенного ниже вывода, команда print внутри «else» не стало выполняться на этот раз, потому что цикл встретил «break» и вышел из цикла.
# python for10.py andreyex lena --end--
[gn_box title=»Примечание:» box_color=»#4f6bf5″]Как вы можете себе представить, заявление «continue» не имеет никакого влияния на «else» в течение цикла. Else все равно будет будет вести себя точно так, как предполагается, когда в цикл условие не выполняется.[/gn_box]
11. Вложенные циклы в Python
Так же, как и любые другие языки программирования, в Python также вы можете иметь вложенные циклы.
При объединении нескольких циклов, это может стать очень эффективно.
В следующем примере показано, как работает вложенный цикл.
# cat for11.py distros = ["centos", "redhat", "ubuntu"] arch = ["32-bit", "64-bit"] for i in distros: for j in arch: print(i + " " + j) print("-----------")
В приведенном выше примере:
- У нас есть два списка (т.е. distros и arch).
- Наружный цикл для дистрибутивов. Таким образом, это будет цикл через каждый пункт в списке дистрибутивов.
- Внутренний цикл для «arch». Таким образом, для каждого элемента в списке дистрибутива, внутренний цикл будет идти каждый пункт в списке «arch».
- Отдельный элемент во внешнем контуре хранится в переменной I
- Отдельный элемент во внутреннем цикле хранится в переменной J
Ниже приведен результат приведенного выше примера:
# python for11.py centos 32-bit centos 64-bit ----------- redhat 32-bit redhat 64-bit ----------- ubuntu 32-bit ubuntu 64-bit -----------
12. Обработка List-of-Lists в цикле в Python
В следующем примере показано, как можно использовать список в списке в цикле.
# cat for12.py multiple_state_lists = [ ["CA","NV","UT"], ["NJ","NY","RU"]] for state_list in multiple_state_lists: for state in state_list: print state
В приведенном выше примере:
- Внешний цикл является циклом через основной список (которые содержат два списка в этом примере).
- Внутренний цикл использует индивидуальный список из внешнего цикла.
Ниже приведен результат приведенного выше примера:
# python for12.py CA NV UT NJ NY RU