Понимание того, как реализовать циклы в Python

Многие объекты в Python «итерируемы». Это означает, что можно перебирать каждый элемент объекта. Например, каждый элемент в списке или каждый символ в строке. Для итерации используется цикл for.

Цикл for

# Syntax
for item in item_set:
    statement 1

Здесь мы создаем список, по которому мы должны выполнить итерацию. Затем мы используем ключевое слово «for» и упоминаем «i», которое является именем переменной и действует как заполнитель. Он принимает значение каждого элемента в объекте, который необходимо повторить.

>>>list1 = ['a','b','c']
>>> for i in list1:
        print(i)
a
b
c

Обратите внимание, как переменная «i» изменена на «pizza», и она по-прежнему дает результат. Это так, потому что имя переменной может быть любым.

>>> list2 = [11,22,33]
>>> for pizza in list2:
        print(pizza)
11
22
33

Теперь мы попробуем печатать только четные числа, реализовав как цикл, так и условные операторы.

>>> for i in list2:
    #check for even
        if i%2 == 0: #'%' gives remainder
            print(i)
        else:
            print(f"Odd number: {i}")
Odd number: 11
22
Odd number: 33

Давайте попробуем получить сумму всех чисел в списке, используя цикл for.

>>> sum = 0
>>> for i in list2:
        sum = sum + i
    print(sum)
66

Использование цикла for в случае строк

>>> str1 = 'Python is fun'
>>> for i in str1:
        print(i)
P
y
t
h
o
n
 
i
s
 
f
u
n

Использование цикла for в случае кортежей

>>> tup1 = (1,2,3)
>>> for _ in tup1:
        print(_)
1
2
3

Использование цикла for при распаковке кортежей. Это список с кортежами в нем.

>>> list3 = [(11,22), (33,44), (55,66)]
# Gives the tuples inside the list
>>> for i in list3:
        print(i)
(11, 22)
(33, 44)
(55, 66)
# Gives the individual items in the tuples inside the list
>>> for (a,b) in list3:
        print(a)
        print(b)
11
22
33
44
55
66

Использование цикла for в случае словаря

>>> dict1 = {'a':1, 'b':2, 'c':3}
>>> for i in dict1:
        print(i)
a
b
c

Обратите внимание, что когда вы пытаетесь перебрать словарь, вы перебираете ключи. Чтобы перебрать элементы, сделайте следующее.

>>> for i in dict1.items():
        print(i)
('a', 1)
('b', 2)
('c', 3)
>>> for key,value in dict1.items():
        print(value)
1
2
3
>>> for i in dict1.values():
        print(i)
1
2
3

Цикл while

# Syntax
while <conndition>:
    statement 1
else:
    statement 2

Циклы while будут продолжать выполнять блок кода, пока какое-то условие остается верным. Например, при работающем двигателе машина должна работать.

>>> x = 5
>>> while x < 10:
        print("x is:", x)
        x = x +1
x is: 5
x is: 6
x is: 7
x is: 8
x is: 9

Если мы упоминаем условие, которое никогда не выполняется, цикл будет выполняться вечно. Он перейдет в бесконечный цикл.

Теперь перейдем к некоторым важным ключевым словам для использования с циклами. Мы можем использовать операторы break, continue и pass в циклах, чтобы добавить дополнительную функциональность.

Ключевое слово break

Вырывается из текущего ближайшего охватывающего цикла

>>> str2 = "Python language"
>>> for i in str2:
        if i == 'a':
            break
        print(i)
P
y
t
h
o
n
 
l

Здесь, как только встречается буква «а», текущий закрывающий цикл завершается, и, следовательно, после «l» печать не производится.

Ключевое слово continue

Переход к вершине ближайшей охватывающей петли

>>> str2 = "Python language"
>>> for i in str2:
        if i == 'a':
            continue
        print(i)
P
y
t
h
o
n
 
l
n
g
u
g
e

Здесь мы хотели пропустить букву «а» в строке. Итак, мы использовали ключевое слово «продолжить». Каждый раз, когда происходило «а», он возвращался к своему закрытому охватывающему циклу, который является циклом for.

Ключевое слово pass

Вообще ничего не делает

>>> list4 = [1,2,3]
>>> for i in list4:
        #statement
File "<ipython-input-25-6fe39b558d44>", line 4
    #statement
              ^
SyntaxError: unexpected EOF while parsing

Ошибка возникла из-за того, что python ожидает, что вы упомянете оператор, поскольку отступ является его важной частью. Поэтому вместо того, чтобы оставлять поле пустым, можно избавиться от этой ошибки с помощью ключевого слова «пройти».

>>> for i in list4:
        pass

Обратитесь к записной книжке здесь.

Книги для начинающих для изучения Python:







Книги продвинутого уровня для изучения Python:





Свяжитесь со мной: LinkedIn

Посмотрите другие мои работы: GitHub