Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära For-loopar | Loopar
Introduktion till Python

bookFor-loopar

Välkommen till avsnittet om loopar!

I detta kapitel fördjupar vi oss i hur loopar fungerar som ett centralt verktyg för automatisering av repetitiva uppgifter och är avgörande för effektiv hantering av listor och andra itererbara datatyper.

Följ med Alex när han visar hur for-loopar kan förenkla arbetsmoment i vår livsmedelsbutik:

Användningen av for-loopar i Python möjliggör att en kodblock upprepas för varje objekt i en samling (itererbart objekt). Här är vad du behöver veta om for-loopar:

Syntax

Initiera en for-loop med nyckelordet for, följt av ett variabelnamn såsom item för att representera varje element i sekvensen. Detta följs av nyckelordet in och sedan det itererbara objektet, till exempel groceryItems. Kodblocket inuti loopen körs en gång för varje element.

I detta exempel fungerar item som iteratorvariabel som sekventiellt hämtar varje element i listan groceryItems och kör funktionen print() för varje:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Iteration avser processen att upprepat köra ett kodblock. Python stöder två huvudsakliga typer av iteration:

Definitiv iteration

Där antalet iterationer är känt i förväg. for-loopar är ett klassiskt exempel och avslutas automatiskt när de når slutet av sekvensen.

Indefinitiv iteration

Där exekveringen fortsätter tills ett specifikt villkor uppfylls, vanligtvis hanterat med while-loopar, vilka kommer att behandlas mer ingående i nästa kapitel.

Exempel på användningsområden

for-loopar i Python kan användas med alla itererbara objekt (lists, tuples, dictionaries, strings), vilket möjliggör datamanipulation per element.

Oavsett om du behöver komma åt objekt i en lista, nycklar eller värden i en dictionary, eller tecken i en sträng, erbjuder for-loopar en tydlig syntax som förenklar kod för repetitiva uppgifter.

Här visas hur du kan använda en for-loop för att iterera över elementen i en sträng och en tuple, på liknande sätt som vi såg med listor:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

Vid användning av en for-loop med en dictionary, kommer iteration direkt över dictionaryn som standard att loopa genom dess nycklar.

Detta är vad som sker när du itererar direkt över en dictionary:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Observera att iteratorvariabeln product endast kommer åt ordbokens nycklar.

För att iterera över värdena i en ordbok kan du använda metoden values().

Detta är användbart för operationer som kräver åtkomst till värden utan att behöva referera till nycklarna:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Om du behöver komma åt nycklar och värden samtidigt, gör metoden items() det möjligt att loopa igenom nyckel-värde-par i en ordbok.

För att använda denna metod i en for-loop anger vi två variabler före nyckelordet in — en för nyckeln (product) och en för värdet (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Observera

I detta exempel används f-strängar (även kallade formaterade stränglitteraler) för att infoga variabler direkt i strängar. Syntaxen är enkel: lägg till ett f före det inledande citattecknet " och placera variabler eller uttryck inom klamrar {} i strängen. Denna metod gör det mycket mer läsbart att kombinera strängar och variabler i print-satser, så det är värt att lära sig.

Med kunskap om if/else, booleska operatorer och for-loopar kan vi utföra en enkel lagerkontroll på en dictionary:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Observera

Du kanske märker att vi har placerat if-satser inuti for-loopen, vilket har lagt till extra indrag i if-blocket. Som nämnts tidigare kan varje indraget kodblock behandlas som självständigt, oavsett var det placeras. Det viktiga är att indraget är konsekvent och korrekt mellan dem.

Uppgift

Swipe to start coding

Summera produktpriser

Beräkna den totala kostnaden för produkter genom att använda en for-loop för att iterera genom en lista med priser.

  1. Skapa en variabel total och sätt den till 0.
  2. Använd en for-loop för att iterera genom varje price i listan prices.
  3. Lägg till varje price till variabeln total inuti loopen.
  4. Skriv ut det slutliga värdet av total efter att loopen är klar.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 1
single

single

Fråga AI

expand

Fråga AI

ChatGPT

Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal

Suggested prompts:

Can you explain the difference between iterating over a list, tuple, and dictionary?

How do I use a for loop to access both keys and values in a dictionary?

Can you give more examples of using for loops with different data types?

close

Awesome!

Completion rate improved to 2.17

bookFor-loopar

Svep för att visa menyn

Välkommen till avsnittet om loopar!

I detta kapitel fördjupar vi oss i hur loopar fungerar som ett centralt verktyg för automatisering av repetitiva uppgifter och är avgörande för effektiv hantering av listor och andra itererbara datatyper.

Följ med Alex när han visar hur for-loopar kan förenkla arbetsmoment i vår livsmedelsbutik:

Användningen av for-loopar i Python möjliggör att en kodblock upprepas för varje objekt i en samling (itererbart objekt). Här är vad du behöver veta om for-loopar:

Syntax

Initiera en for-loop med nyckelordet for, följt av ett variabelnamn såsom item för att representera varje element i sekvensen. Detta följs av nyckelordet in och sedan det itererbara objektet, till exempel groceryItems. Kodblocket inuti loopen körs en gång för varje element.

I detta exempel fungerar item som iteratorvariabel som sekventiellt hämtar varje element i listan groceryItems och kör funktionen print() för varje:

1234
groceryItems = ["milk", "eggs", "cheese", "butter"] for item in groceryItems: # Code to be executed print(item)
copy

Iteration avser processen att upprepat köra ett kodblock. Python stöder två huvudsakliga typer av iteration:

Definitiv iteration

Där antalet iterationer är känt i förväg. for-loopar är ett klassiskt exempel och avslutas automatiskt när de når slutet av sekvensen.

Indefinitiv iteration

Där exekveringen fortsätter tills ett specifikt villkor uppfylls, vanligtvis hanterat med while-loopar, vilka kommer att behandlas mer ingående i nästa kapitel.

Exempel på användningsområden

for-loopar i Python kan användas med alla itererbara objekt (lists, tuples, dictionaries, strings), vilket möjliggör datamanipulation per element.

Oavsett om du behöver komma åt objekt i en lista, nycklar eller värden i en dictionary, eller tecken i en sträng, erbjuder for-loopar en tydlig syntax som förenklar kod för repetitiva uppgifter.

Här visas hur du kan använda en for-loop för att iterera över elementen i en sträng och en tuple, på liknande sätt som vi såg med listor:

123456789
# Print each letter in the string vegetable = "Carrot" for letter in vegetable: print(letter) # Tuple containing different categories of the grocery store categories = ("Produce", "Bakery", "Meat", "Dairy") for category in categories: print(category)
copy

Vid användning av en for-loop med en dictionary, kommer iteration direkt över dictionaryn som standard att loopa genom dess nycklar.

Detta är vad som sker när du itererar direkt över en dictionary:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary key print("Product list:") for product in productStock: print(product)
copy

Observera att iteratorvariabeln product endast kommer åt ordbokens nycklar.

För att iterera över värdena i en ordbok kan du använda metoden values().

Detta är användbart för operationer som kräver åtkomst till värden utan att behöva referera till nycklarna:

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print each dictionary value print("Stock counts:") for stock in productStock.values(): print(stock)
copy

Om du behöver komma åt nycklar och värden samtidigt, gör metoden items() det möjligt att loopa igenom nyckel-värde-par i en ordbok.

För att använda denna metod i en for-loop anger vi två variabler före nyckelordet in — en för nyckeln (product) och en för värdet (stock):

1234567
# Dictionary of products and their stock counts productStock = {"milk": 120, "eggs": 200, "bread": 80} # Print both the key and value for each dictionary item print("Inventory details:") for product, stock in productStock.items(): print(f"{product} has {stock} units in stock.")
copy

Observera

I detta exempel används f-strängar (även kallade formaterade stränglitteraler) för att infoga variabler direkt i strängar. Syntaxen är enkel: lägg till ett f före det inledande citattecknet " och placera variabler eller uttryck inom klamrar {} i strängen. Denna metod gör det mycket mer läsbart att kombinera strängar och variabler i print-satser, så det är värt att lära sig.

Med kunskap om if/else, booleska operatorer och for-loopar kan vi utföra en enkel lagerkontroll på en dictionary:

123456789101112131415161718
# Product names as keys and their stock levels as values inventory = { "milk": 120, "eggs": 30, "bread": 80, "apples": 10 } # The threshold stock level that triggers a restock minimum_stock = 50 # Evaluating stock levels and deciding if restocking is necessary print("Checking inventory status:") for product, quantity in inventory.items(): if quantity < minimum_stock: print(f"{product} requires restocking. Only {quantity} units remain.") else: print(f"{product} has adequate stock with {quantity} units available.")
copy

Observera

Du kanske märker att vi har placerat if-satser inuti for-loopen, vilket har lagt till extra indrag i if-blocket. Som nämnts tidigare kan varje indraget kodblock behandlas som självständigt, oavsett var det placeras. Det viktiga är att indraget är konsekvent och korrekt mellan dem.

Uppgift

Swipe to start coding

Summera produktpriser

Beräkna den totala kostnaden för produkter genom att använda en for-loop för att iterera genom en lista med priser.

  1. Skapa en variabel total och sätt den till 0.
  2. Använd en for-loop för att iterera genom varje price i listan prices.
  3. Lägg till varje price till variabeln total inuti loopen.
  4. Skriv ut det slutliga värdet av total efter att loopen är klar.

Lösning

Switch to desktopByt till skrivbordet för praktisk övningFortsätt där du är med ett av alternativen nedan
Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 1
single

single

some-alt