Python är ett av de snabbast växande programmeringsspråken. Utvecklare använder det för maskininlärning och datavetenskap, bland andra typer av applikationer. Innan du börjar lära dig mer avancerade aspekter av språket bör du behärska en av de vanligaste datastrukturerna: listor.
Listor i Python är arrayer som är bekanta från andra programmeringsspråk som C och C++. Du kan ändra storleken på en lista och Python bygger in olika listmetoder för enkelhetens skull. Du kan lagra flera datatyper i en lista, såsom strängar, objekt och till och med andra listor.
Varför använda olika slingtekniker?
Du kanske undrar om det är värt att lära sig olika sätt att gå igenom en Python-lista när en enkel för loop kan göra jobbet.
Ofta är det lättare att använda en stenografimetod, såsom en listförståelse eller lambdafunktion, för att hålla din kod kortfattad och mindre rörig. Det hjälper också att bestämma vilken genomgångsteknik som skulle vara mest effektiv för en komplex lista med många element.
Ännu viktigare är att det är vanligt att intervjuare ställer komplexa listfrågor. Om du känner till de olika sätten att gå igenom listor, kommer du att vara bättre förberedd att svara på de svåra frågorna.
1. Traversering med för loop- och räckviddsmetoden
En av de vanligaste metoderna för att gå igenom en Python-lista är att använda en for-loop, och de är väldigt lika andra programmeringsspråk.
arr = [10, 20, 30, 40]
för val in arr:
skriva ut('värde', val)
Alternativt kan du också använda räckvidd() metod för att ha mer kontroll över din för slinga. De räckvidd() Metoden tar tre argument:
- start: Betecknar startindexet för slinggenomgången.
- stopp: Meddelar programmet slut-/stoppindexet för för-slingan. Det är vanligt att använda listans längd (antal element) som stoppindex.
- steg: Argumentet för stegstorlek är valfritt. Om den tillhandahålls, ställer den in det belopp som for-slingan ökar sin löpräknare med varje gång. Som standard är stegstorleken 1.
För att gå igenom en Python-lista med range():
arr = [10, 20, 30, 40, 50, 60]
för nyckel i intervallet (0, len (arr), 2):
skriva ut('num', nyckel)
Ovanstående exempel kör för loop från index 0 till längden på arrayen och ökar loopräknaren med 2.
2. Stenografi genom att använda listförståelse
En av Pythons mest intuitiva funktioner är listförståelse. Den låter dig skriva enkla enradslösningar på en mängd olika problem.
Till exempel, för att beräkna kvadraten på de första 10 talen, kan du helt enkelt använda:
sq = [x ** 2 för x i intervallet (10)]
Med en lista med nummer kan du skriva ut dem med hjälp av listförståelse enligt följande:
arr = [1, 3, 5, 7, 9]
[skriva ut(val) för val i arr]
Listförståelser är mycket kraftfulla och kan göra kodning väldigt lätt när den väl bemästras, så se till att du lägger lite tid på att öva dem väl.
3. Använda in-line lambdafunktioner för att gå igenom en lista
Vanligtvis deklarerar vi funktioner i Python med hjälp av def nyckelord och måste tillhandahålla en dedikerad funktionstext och rubrik. Lambda-funktioner är en kraftfull Python-funktion, vilket gör det mycket lättare att skriva enkel, kortare kod. De har inget namn och kan bara innehålla ett enda uttryck. Du kan dock skicka valfritt antal parametrar till en lambdafunktion.
I kombination med Karta() metod kan lambdafunktionen effektivt fungera som en för slinga. För att skriva ut en lista med nummer med en kombination av lambdafunktioner och Karta():
arr = [1, 3, 4, 5, 6, 7, 8]
myFun = lista(karta (lambda z: z, arr))
skriva ut(myFun)
Python-loopar är enkla men allestädes närvarande
Slingor är viktiga i alla programmeringsspråk och Python är inte annorlunda. De flesta program du skriver kommer att innehålla en loop någon gång, i en eller annan form.
Detta går dubbelt om du vill använda Python för datavetenskap eller maskininlärningsprojekt.