Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lära For-loopar med Olika Strukturer | Loopar
Practice
Projects
Quizzes & Challenges
Frågesporter
Challenges
/
Introduktion till Python

bookFor-loopar med Olika Strukturer

Låt oss utforska användningen av for-loopar med olika datastrukturer.

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 ordbok, eller tecken i en sträng, erbjuder for-loopar en tydlig syntax som förenklar koden 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 tuppel, 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

I exemplet ovan loopar du genom varje bokstav i strängen och varje objekt i tuplen, och skriver ut dem en i taget. Detta visar hur for-loopar kan bearbeta varje element i olika typer av sekvenser, vilket gör din kod både effektiv och lättläst.

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

Detta kan förväntas när du itererar direkt över en ordbok:

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 får åtkomst till 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 nycklar:

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

Vid behov av att komma åt nycklar och värden samtidigt, möjliggör metoden items() att iterera genom nyckel-värde-par i en dictionary.

För att använda denna metod i en for-loop anges 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
Note
Notering

I det här exemplet använder vi 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 klammerparenteser {} i strängen. Denna metod gör det mycket mer läsbart att kombinera strängar och variabler i utskriftskommandon, så det är värt att lära sig.

Med hjälp av dina kunskaper 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
Note
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

Loopa igenom en ordbok med matvaror och deras priser. För varje vara:

  • Använd en for-loop för att iterera genom grocery-ordboken;
  • Skriv ut både varan (nyckeln) och dess pris (värdet) inuti loopen.

Lösning

Var allt tydligt?

Hur kan vi förbättra det?

Tack för dina kommentarer!

Avsnitt 5. Kapitel 2
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

close

bookFor-loopar med Olika Strukturer

Svep för att visa menyn

Låt oss utforska användningen av for-loopar med olika datastrukturer.

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 ordbok, eller tecken i en sträng, erbjuder for-loopar en tydlig syntax som förenklar koden 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 tuppel, 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

I exemplet ovan loopar du genom varje bokstav i strängen och varje objekt i tuplen, och skriver ut dem en i taget. Detta visar hur for-loopar kan bearbeta varje element i olika typer av sekvenser, vilket gör din kod både effektiv och lättläst.

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

Detta kan förväntas när du itererar direkt över en ordbok:

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 får åtkomst till 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 nycklar:

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

Vid behov av att komma åt nycklar och värden samtidigt, möjliggör metoden items() att iterera genom nyckel-värde-par i en dictionary.

För att använda denna metod i en for-loop anges 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
Note
Notering

I det här exemplet använder vi 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 klammerparenteser {} i strängen. Denna metod gör det mycket mer läsbart att kombinera strängar och variabler i utskriftskommandon, så det är värt att lära sig.

Med hjälp av dina kunskaper 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
Note
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

Loopa igenom en ordbok med matvaror och deras priser. För varje vara:

  • Använd en for-loop för att iterera genom grocery-ordboken;
  • Skriv ut både varan (nyckeln) och dess pris (värdet) inuti loopen.

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 2
single

single

some-alt