Python er et av de raskest voksende programmeringsspråkene. Utviklere bruker det for maskinlæring og datavitenskap, blant andre typer applikasjoner. Før du begynner å lære mer avanserte aspekter av språket, bør du mestre en av de vanligste datastrukturene: lister.

Lister i Python er arrays, kjent fra andre programmeringsspråk som C og C++. Du kan endre størrelsen på en liste, og Python bygger inn ulike listemetoder for enkelhets skyld. Du kan lagre flere datatyper i en liste, for eksempel strenger, objekter og til og med andre lister.

Hvorfor bruke forskjellige løkketeknikker?

Du lurer kanskje på om det er verdt å lære forskjellige måter å krysse en Python-liste på når en til loop kan gjøre jobben.

Ofte er det lettere å bruke en stenografimetode, for eksempel en listeforståelse eller lambda-funksjon, for å holde koden din kortfattet og mindre rotete. Det hjelper også med å avgjøre hvilken traverseringsteknikk som vil være mest effektiv for en kompleks liste med mange elementer.

Enda viktigere er det at det er vanlig at intervjuere stiller komplekse listespørsmål. Hvis du kjenner de forskjellige måtene å krysse lister på, vil du være bedre forberedt til å svare på de vanskelige spørsmålene.

instagram viewer

1. Traversering ved å bruke For Loop and Range Method

En av de vanligste metodene for å krysse en Python-liste er å bruke en for-løkke, og de ligner veldig på andre programmeringsspråk.

arr = [10, 20, 30, 40]

for val i arr:
skrive ut('verdi', val)

Alternativt kan du også bruke område() metode for å ha mer kontroll over din til Løkke. De område() metoden tar tre argumenter:

  • start: Angir startindeksen til for-løkkegjennomgangen.
  • stopp: Forteller programmet den endelige/stoppende indeksen for for-sløyfen. Det er vanlig å bruke listens lengde (antall elementer) som stoppindeks.
  • trinn: Argumentet for trinnstørrelse er valgfritt. Hvis det er gitt, angir den mengden for-løkken øker løpende teller med hver gang. Som standard er trinnstørrelsen 1.

For å krysse en Python-liste ved å bruke range():

arr = [10, 20, 30, 40, 50, 60]

for nøkkel i rekkevidde (0, len (arr), 2):
skrive ut('num', nøkkel)

Eksempelet ovenfor kjører til sløyfe fra indeks 0 til lengden på arrayet og øker løkketelleren med 2.

2. Stenografisk kryssing ved hjelp av listeforståelse

En av Pythons mest intuitive funksjoner er listeforståelse. Den lar deg skrive enkle énlinjes løsninger på en rekke forskjellige problemer.

For eksempel, for å beregne kvadratet av de første 10 tallene, kan du ganske enkelt bruke:

sq = [x ** 2 for x i området (10)] 

Gitt en liste over tall, kan du skrive dem ut ved å bruke listeforståelse som følger:

arr = [1, 3, 5, 7, 9]
[skrive ut(val) til val i arr]

Listeforståelser er veldig kraftige og kan gjøre koding veldig enkelt når du først har mestret, så sørg for at du bruker litt tid på å øve dem godt.

3. Bruke in-line lambdafunksjoner for å krysse en liste

Vanligvis erklærer vi funksjoner i Python ved å bruke def nøkkelord og må gi en dedikert funksjonstekst og overskrift. Lambda-funksjoner er en kraftig Python-funksjon, noe som gjør det mye enklere å skrive enkel, kortere kode. De har ikke noe navn og kan bare inneholde ett enkelt uttrykk. Du kan imidlertid sende et hvilket som helst antall parametere til en lambda-funksjon.

Når det kombineres med kart() metoden, kan lambda-funksjonen effektivt fungere som en til Løkke. For å skrive ut en liste over tall ved å bruke en kombinasjon av lambdafunksjoner og kart():

arr = [1, 3, 4, 5, 6, 7, 8]
myFun = liste(kart (lambda z: z, arr))
skrive ut(myFun)

Python-løkker er enkle, men allestedsnærværende

Loops er avgjørende i alle programmeringsspråk, og Python er ikke annerledes. De fleste programmene du skriver vil inkludere en loop på et tidspunkt, i en eller annen form.

Dette går to ganger hvis du vil bruke Python til datavitenskap eller maskinlæringsprosjekter.