Python е един от най-бързо развиващите се езици за програмиране. Разработчиците го използват за машинно обучение и наука за данни, наред с други видове приложения. Преди да започнете да изучавате по-напреднали аспекти на езика, трябва да овладеете една от най-често срещаните структури от данни: списъци.
Списъците в Python са масиви, познати от други езици за програмиране като C и C++. Можете да промените размера на списък и Python вгражда различни методи за списък за удобство. Можете да съхранявате множество типове данни в списък, като низове, обекти и дори други списъци.
Защо да използваме различни техники за зацикляне?
Може би се чудите дали си струва да научите различни начини за преминаване през списък на Python, когато е лесно за цикъл може да свърши работа.
Често е по-лесно да използвате метод за стенограма, като например разбиране на списък или ламбда функция, за да запазите кода си кратък и по-малко претрупан. Той също така помага при вземането на решение коя техника на обхождане би била най-ефективна за сложен списък с много елементи.
По-важното е, че е обичайно интервюиращите да задават сложни въпроси за обхождане на списък. Ако знаете различните начини за преминаване през списъци, ще бъдете по-добре подготвени да отговорите на тези трудни въпроси.
1. Преминаване с помощта на For Loop и Range метод
Един от най-често срещаните методи за преминаване през списък на Python е използването на for цикъл и те са много подобни на други езици за програмиране.
arr = [10, 20, 30, 40]
за val в arr:
печат ('стойност', стойност)
Като алтернатива можете също да използвате диапазон () метод, за да имате повече контрол над вашите за цикъл. The диапазон () метод приема три аргумента:
- начало: Означава началния индекс на преминаването на for цикъла.
- стоп: Казва на програмата крайния/спиращ индекс за преминаване на for цикъла. Обичайно е да се използва дължината на списъка (брой елементи) като спиращ индекс.
- стъпка: Аргументът за размера на стъпката не е задължителен. Ако е предоставено, то задава количеството, с което for цикълът увеличава своя работещ брояч всеки път. По подразбиране размерът на стъпката е 1.
За да преминете през списък на Python с помощта на range():
arr = [10, 20, 30, 40, 50, 60]
за ключ в диапазон (0, len (arr), 2):
печат ('бр', ключ)
Горният пример изпълнява за цикъл от индекс 0 до дължината на масива и увеличава брояча на цикъла с 2.
2. Стенографско обхождане с помощта на разбиране на списък
Една от най-интуитивните функции на Python е разбиране на списъка. Позволява ви да пишете прости едноредови решения на множество различни проблеми.
Например, за да изчислите квадрата на първите 10 числа, можете просто да използвате:
sq = [x ** 2 за x в диапазон (10)]
Имайки даден списък с числа, можете да ги отпечатате с помощта на разбиране на списък, както следва:
arr = [1, 3, 5, 7, 9]
[печат(вал) за val in arr]
Разбирането на списъци е много мощно и може да направи кодирането много лесно, след като бъде усвоено, така че се уверете, че отделяте известно време, за да ги практикувате добре.
3. Използване на вградени ламбда функции за обхождане на списък
Обикновено ние декларираме функции в Python, използвайки деф ключова дума и трябва да предоставят специално тяло и заглавка на функцията. Функциите Lambda са мощна функция на Python, което прави много по-лесно писането на прост, по-кратък код. Те нямат име и могат да съдържат само един израз. Можете обаче да подадете произволен брой параметри към ламбда функция.
Когато се комбинира с карта() метод, ламбда функцията може ефективно да работи като a за цикъл. За да отпечатате списък с числа, като използвате комбинация от ламбда функции и карта():
arr = [1, 3, 4, 5, 6, 7, 8]
myFun = списък(карта (ламбда z: z, arr))
печат(myFun)
Циклите на Python са прости, но повсеместни
Циклите са от съществено значение във всеки език за програмиране и Python не е по-различен. Повечето програми, които пишете, ще включват цикъл в даден момент под една или друга форма.
Това е двойно, ако искате да използвате Python за наука за данни или проекти за машинно обучение.