for цикъл в python. Синтаксис, итерация на списък, прекъсване, продължаване и други функции

Цikl за python i цикъл докато – твърдения софтуер език, а именно: итерационни оператори, некаING повторен код даден номер време.

Цикл За — синтаксис

Както вече беше обяснено, cinclude for в Python е итератор, базиран най на цикълидентичност. той ли е актове чрез елементи на кортеж и списък, речник ключове и друг итерируеми обекти.

Цикълът в Python започва с ключовата дума for, последвана от име на произволна променлива, която съхранява стойността на следващия обект в дадената последователност. Общият синтаксис за for…in в python изглежда така:

за в: else:      

Компоненти „последователности“ са изброени едно след друго променлива на цикъла. Или по-скоро, променлива сочи към такъв елементи. За всеки от тях се извършва „действие“.

Прост for цикъл в Python с конкретен пример:

>>> езици = ["C", "C++", "Perl", "Python"] >>> за x в езици: ... print(x) ... C C++ Perl Python >>>

Блокът else е специаленth. Ако програмистыработа с Perl познаты с него, че за тези, които взаимодействат с C и C++ — това е иновация. Семантично го функции тидентично докато цикъл.

Изпълнява се само когато цикълът не е „спрян“ от командата break. Тоест, той се изпълнява само след като всички елементи са преминали през определената последователност.

Break оператор в python – break

Ако програмата има for цикъл необходимо прекъсвам- изявление за прекъсване, he завършиотиванамлява програма поток ще продължда бъде без активиране от друго.

По-често прекъсване на фрази в pythonую се с условни изрази.

edibles = ["chops", "dumplings","eggs","nuts"] за храна в edibles: if food == "dumplings": print("Не ям кнедли!") break print("Страхотно, вкусно " + храна) else: print("Добре, че нямаше кнедли!") print("Вечерята свърши.")

Ако изпълните този код, ще получите следния резултат:

Страхотни, вкусни котлети. Не ям кнедли! Вечерята свърши.

Премахваме „кнедли“ от съществуващия списък с данни и получаваме:

Отлични, вкусни котлети Отлични, вкусни яйца Отлични, вкусни ядки Добре, че нямаше кнедли! Вечерята свърши.

python skip оператор – продължи

Да кажем, че антипатията на потребителя към такива продукти не е толкова голяма, че да се откаже напълно от консумацията им. В резултат на това цикълът продължава с оператора continue. Следният скрипт използва оператора continue, за да продължите да обикаляте списъка на „контакт с кнедли“.

edibles = ["chops", "dumplings","eggs","nuts"] за храна в edibles: if food == "dumplings": print("Не ям кнедли!") continue print("Страхотно, вкусно " + храна) # това може да е код за наслаждаване на храна :-) else: print("Мразя кнедли!") print("Вечерята свърши.")

Долния ред:

Страхотни, вкусни котлети. Не ям кнедли! Страхотни, вкусни яйца Страхотни, вкусни ядки Мразя кнедли! Вечерята свърши.

Итериране на списъци с функцията range().

Ако искате да получите достъп до индексите на списък, не е ясно как да използвате for цикъл за тази цел. Възможно е достъп до всички елементи, но индексът на елемента ще остане недостъпен. Има обаче метод за достъп както до индекса на елемента, така и до самия елемент. За тази цел се използва функцията range() комбиниран с функцията за дължина len():

fibonacci = [0,1,1,2,3,5,8,13,21] за i в диапазон (len(fibonacci)): print(i,fibonacci[i])

Вземи:

0 0 1 12132 4 3 5 5 6 8 7 13

внимание! При прилагане len() к list or tuple, се получава съответният брой елементи от дадената редица.

Трудности при итериране на списъци

Когато итерирате върху списък, се препоръчва да избягвате динамиката на списъка в тялото на цикъла. За яснота можем да предложим следната опция:

colors = ["red"] for i in colors: if i == "red": colors += ["black"] if i == "black": colors += ["white"] print(colours)

Какво се случва при кандидатстване print(colours)?

['червено', 'черно', 'бяло']

За да избегнете това, се препоръчва да взаимодействате с копието с помощта на срезове, както в примера по-долу:

colors = ["red"] for i in colors[:]: if i == "red": colors += ["black"] if i == "black": colors += ["white"] print(colours )

Резултат:

['Червено черно']

Списъкът е променен colours, но това действие не повлия на цикъла. Данните, които трябваше да бъдат итерирани, останаха непроменени по време на изпълнението на цикъла.

Изброяване в python 3

Enumerate е вградена функция на Python. Повечето начинаещи, както и някои опитни програмисти, не знаят за съществуването му. Позволява ви автоматично да броите итерациите на цикъла. Например:

за брояч, стойност в enumerate(some_list): print(counter, value)

функция enumerate също приема незадължителен аргумент (стойността на произхода, взета по подразбиране за 0). Което го прави още по-ефективен.

my_list = ['apple', 'banana', 'cherry', 'peach'] за c, стойност в enumerate(my_list, 1): print(c, value) # Резултат: # 1 ябълка # 2 банан # 3 череша # 4 праскови

Оставете коментар