Om du har använt matriser på andra programmeringsspråk kan du hitta något liknande i form av listor i Python. Den enda skillnaden är att Python-listor har en extra fördel - dynamisk storlek. Som arrays kan du använda dem för att lagra mer än ett objekt.

Varför krävs loopning?

När du arbetar med listor kommer det att finnas tider då du kommer att behöva utföra samma operation mot varje post i listan.

Du kanske till exempel vill ta medelvärdet av alla poster i en lista. På en liknande anteckning, vad händer om du har lagrat bloggar i en lista och vill hämta deras rubrik?

Alla dessa scenarier har samma problem: de innebär upprepning. För att ta itu med dessa problem kan du helt enkelt använda loopar med listor i Python.

Låt oss se hur slingor gör det enkelt att utföra operationer mot flera objekt i en lista med ett exempel.

Förstå loopar med listor genom ett exempel

Antag att du vill skriva ut en lista över amerikanska simmare av året från 2016 till 2019 (ingen tilldelades 2020 på grund av COVID-19). Utan slingor måste du hämta varje namn en efter en från listan. Det finns dock två viktiga problem med denna metod:

instagram viewer

  1. Att skriva ut varje namn är repetitivt och tidskrävande när du arbetar med en lång lista.
  2. Det krävs stora ansträngningar att ändra koden för varje instans.

Relaterad: Hur man använder en stundslinga i Python

Lyckligtvis kan en for loop ta itu med båda dessa frågor effektivt. Tänk på följande kod:


simmare = ['hjälper', 'dressel', 'kalisz', 'dressel']
för simmare i simmare:
tryck (simmare)

Låt oss dissekera den här koden i tre steg:

  1. Du definierar en lista simmare och lagra namnen på vinnarna i den.
  2. Du definierar en for-loop, drar ett namn från listan simmare en efter en och tilldela den till variabeln simmare.
  3. Du ber Python skriva ut ett namn som tilldelats simmare i den specifika iterationen.

Nu fortsätter Python att upprepa 2nd och 3rd steg för att skriva ut alla simmare i din lista. För din bekvämlighet kan du läsa det så här: "För varje simmare i min lista över simmare, visa simmarens namn." Här är resultatet:

En kort blick på slingor

Ämnet looping är avgörande eftersom det är en av de viktigaste metoderna för att automatisera repetitiva uppgifter. Till exempel i vår swimmers.py fil, bearbetar Python loopens första rad:


för simmare i simmare:

Här säger du till Python att hämta det första värdet från din lista, simmare. Därefter tilldelas den till din definierade variabel simmare. Eftersom det första värdet är 'phelps' gäller följande uttalande för det:


tryck (simmare)

Det är viktigt att förstå att Python skriver ut det senaste värdet av simmare i detta skede, som råkar vara "phelps". Eftersom listan består av flera värden går Python tillbaka till slingans första rad:


för simmare i simmare:

Den här gången hämtar Python nästa namn från din lista, "dressel" och tilldelar det till variabeln simmare. Återigen kommer Python att utföra följande kod:


tryck (simmare)

Nu skriver Python ut det senaste värdet av simmare, som råkar vara "dressel". På samma sätt kommer Python att upprepa slingan och skriva ut 'kalisz' och 'dressel'.

Efter att det sista värdet har skrivits ut går Python till den första linjen i loop igen, och eftersom det inte finns någon ytterligare post kommer den att gå till nästa rad. I det här programmet finns det inget efter for-slingan, så det slutar.

När du fortsätter att gå igenom listor, kom ihåg att oavsett vilket steg du definierar i din kod kommer det att upprepas en gång för varje listpost, oavsett listans längd. Det betyder att även om du lägger till en miljard poster i din lista kommer Python att utföra din definierade åtgärd en miljard gånger.

En annan sak att notera är att när du definierar din för loopar kan du välja vilket namn som helst för den tillfälliga variabeln som tilldelas varje post i listan. Men det rekommenderas att du väljer ett namn som passar ditt sammanhang för bättre kodläsbarhet.

Här är till exempel ett effektivt tillvägagångssätt för att gå igenom en lista över produkter, fåglar och skådespelare:


för produkt i produkter:
för fågel i fåglar:
för skådespelare i skådespelare:

Nu när du har ett grundläggande grepp om för loop, manipulerar du varje objekt i din lista. Om du går tillbaka till simmarexemplet kan du ge komplimanger till varje simmare för deras färdigheter genom att skriva följande kod:


simmare = ['phelps', 'dressel', 'kalisz', 'dressel']
för simmare i simmare:
skriv ut (f "{swimmer.title ()}, dina simningskunskaper är fantastiska!")

Den här koden fungerar precis som den tidigare; den enda skillnaden är att du skapar ett meddelande för varje simmare genom att ropa ut deras namn. Som tidigare kör loop igen varje simmare och skriver ut ett uttalande för var och en av dem. Som förväntat visas den genererade produktionen nedan:

Du kan också skriva flera uttalanden i for-slingan. Tänk på att slingan omfattar varje indragen linje som kommer efter simmare i simmare, och Python kör varje rad en gång för varje listvärde. Därför finns det oändliga möjligheter för alla poster i listan.

Du kan till exempel skriva ett annat utskriftsuttalande i exemplet ovan.


simmare = ['phelps', 'dressel', 'kalisz', 'dressel']
för simmare i simmare:
skriv ut (f "{swimmer.title ()}, dina simningskunskaper är fantastiska!")
skriva ut (f "Ser fram emot att se dig i nästa tävling, {swimmer.title ()}.
")

Eftersom du har använt indrag för båda påståenden, kör Python var och en av dem för varje post i listan.

När du har slutfört slingan kan du sammanfatta din produktion och sedan flytta till andra delar av programmet. Den här delen efter slingan ska inte vara indragen, så den upprepas inte.

Nu kan du enkelt gå igenom listor

I den här artikeln lärde du dig varför slingor behövs, hur man använder slingor med listor och hur Python bearbetar poster i en lista när den är indragen i en slinga. Du kan nu använda listor och slingor för att skriva mer komplex kod och skapa program av högre kvalitet.

För att testa dina kunskaper är här en enkel övning: skapa en lista med tio nummer och skriv bara ut siffror som är delbara med fem.

E-post
Hur man lägger till en lista i Python

Arbetar du med listor i Python? Här är vad du behöver veta om att använda Python append-funktionen när du arbetar med listor.

Läs Nästa

Relaterade ämnen
  • Programmering
  • Pytonorm
Om författaren
Usman Ghani (2 artiklar publicerade)Mer från Usman Ghani

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Ett steg till…!

Bekräfta din e-postadress i e-postmeddelandet som vi just skickade till dig.

.