Поиск по сайту:
Маленький камень опаснее большого: его легче кинуть (А. Лигов).

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

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 4,50 из 5)
Загрузка...
12.07.2017
12 незаменимых примеров команды loop в Python

Цикл является важным аспектом любого языка программирования.

В Python, цикл является очень гибким и мощным.

В этой статье мы объясним следующие примеры цикла в Python.

  1. Цикл в Python для чисел
  2. Цикл в Python для строк
  3. Использование по умолчанию функций диапазонов в цикле
  4. Цикл в Python с пользовательским начальных и конечных чисел
  5. Цикл в Python с возрастающими числами
  6. Цикл в Python для диапазона с отрицательными значениями
  7. Заявление Continue внутри цикла в Python
  8. Заявление Break внутри цикла в Python
  9. Может ли цикл иметь else без if?
  10. Комбинация Else и Break внутри цикла в Python
  11. Вложенные циклы в Python
  12. Обработка 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

 

Примечание:
Опять же, если указать range(х), убедитесь, что вы обращаете внимание на то, что функция диапазона по умолчанию всегда будет начинаться с номера 0, а затем генерировать «х» количество чисел.
Примечание:
Вы можете также использовать xrange вместо range. Для практической цели, она будет вести себя точно так же. Но, когда вы имеете дело с огромным списком более 1000-х чисел, xrange рекомендуется, так как она быстрее. Функция xrange будет генерировать числа, которые требуются по требованию. Но, диапазон будет генерировать все цифры, когда она вызывается.

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--

 

Примечание:
Как вы можете себе представить, заявление «continue» не имеет никакого влияния на «else» в течение цикла. Else все равно будет будет вести себя точно так, как предполагается, когда в цикл условие не выполняется.

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

 

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Если статья понравилась, то поделитесь ей в социальных сетях:

Читайте также

5 1 голос
Рейтинг статьи
Подписаться
Уведомить о
guest

**ссылки nofollow

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

Спасибо!

Теперь редакторы в курсе.