Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Lijstgedrag in Functies | Functies
Introductie tot Python

Veeg om het menu te tonen

book
Lijstgedrag in Functies

Laten we het werken met lijsten binnen functies verkennen. Hoewel dit vergelijkbaar is met werken met getallen, zijn er enkele belangrijke details om op te letten.

Lijsten zijn mutabel, wat betekent dat elke wijziging aan een lijst binnen een functie ook de oorspronkelijke lijst buiten de functie beïnvloedt als deze direct wordt doorgegeven.

Om dit te voorkomen, kun je de copy()-methode gebruiken bij elk mutabel gegevenstype. Hiermee maak je een oppervlakkige kopie van de lijst, zodat je een duplicaat kunt aanpassen in plaats van het origineel. Dit zorgt ervoor dat wijzigingen binnen de functie geen invloed hebben op de oorspronkelijke lijst.

1234567891011121314
def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
copy

In dit voorbeeld blijft de oorspronkelijke fruits-lijst ongewijzigd omdat copy() is gebruikt. Zonder copy() zou het aanpassen van de lijst binnen de functie ook de oorspronkelijke fruits-lijst hebben gewijzigd.

Taak

Swipe to start coding

Maak een functie om een 10% korting toe te passen op productprijzen boven de $2,00, zonder de originele lijst te wijzigen.

  • Definieer een functie apply_discount(prices) die een lijst met prijzen ontvangt.
  • Maak binnen de functie een kopie van prices en wijs deze toe aan prices_copy.
  • Gebruik een for-lus met index-iteratie (range(len(prices_copy))) om door de gekopieerde lijst te lopen.
  • Als een prijs groter is dan 2.00, pas dan een korting van 10% toe.
  • Retourneer de bijgewerkte lijst prices_copy.

Uitvoervereisten

  • De functie moet de nieuwe lijst met aangepaste prijzen retourneren.
  • Print het resultaat met:
    Bijgewerkte productprijzen: <$updated_prices>

Opmerking

Gebruik index-gebaseerde iteratie om ervoor te zorgen dat de lijst correct wordt aangepast: for index in range(len(prices)): past elementen direct aan, in tegenstelling tot for price in prices:.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 6. Hoofdstuk 4

Vraag AI

expand
ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

book
Lijstgedrag in Functies

Laten we het werken met lijsten binnen functies verkennen. Hoewel dit vergelijkbaar is met werken met getallen, zijn er enkele belangrijke details om op te letten.

Lijsten zijn mutabel, wat betekent dat elke wijziging aan een lijst binnen een functie ook de oorspronkelijke lijst buiten de functie beïnvloedt als deze direct wordt doorgegeven.

Om dit te voorkomen, kun je de copy()-methode gebruiken bij elk mutabel gegevenstype. Hiermee maak je een oppervlakkige kopie van de lijst, zodat je een duplicaat kunt aanpassen in plaats van het origineel. Dit zorgt ervoor dat wijzigingen binnen de functie geen invloed hebben op de oorspronkelijke lijst.

1234567891011121314
def add_strawberry(original_list): list_copy = original_list.copy() # Create a copy of the original list list_copy.append("Strawberry") # Modify the copied list return list_copy # Original list fruits = ["Apple", "Banana", "Cherry"] # Call the function new_fruits = add_strawberry(fruits) # Check the results print("Original list:", fruits) # ['Apple', 'Banana', 'Cherry'] print("Modified list:", new_fruits) # ['Apple', 'Banana', 'Cherry', 'Strawberry']
copy

In dit voorbeeld blijft de oorspronkelijke fruits-lijst ongewijzigd omdat copy() is gebruikt. Zonder copy() zou het aanpassen van de lijst binnen de functie ook de oorspronkelijke fruits-lijst hebben gewijzigd.

Taak

Swipe to start coding

Maak een functie om een 10% korting toe te passen op productprijzen boven de $2,00, zonder de originele lijst te wijzigen.

  • Definieer een functie apply_discount(prices) die een lijst met prijzen ontvangt.
  • Maak binnen de functie een kopie van prices en wijs deze toe aan prices_copy.
  • Gebruik een for-lus met index-iteratie (range(len(prices_copy))) om door de gekopieerde lijst te lopen.
  • Als een prijs groter is dan 2.00, pas dan een korting van 10% toe.
  • Retourneer de bijgewerkte lijst prices_copy.

Uitvoervereisten

  • De functie moet de nieuwe lijst met aangepaste prijzen retourneren.
  • Print het resultaat met:
    Bijgewerkte productprijzen: <$updated_prices>

Opmerking

Gebruik index-gebaseerde iteratie om ervoor te zorgen dat de lijst correct wordt aangepast: for index in range(len(prices)): past elementen direct aan, in tegenstelling tot for price in prices:.

Oplossing

Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 6. Hoofdstuk 4
Switch to desktopSchakel over naar desktop voor praktijkervaringGa verder vanaf waar je bent met een van de onderstaande opties
Onze excuses dat er iets mis is gegaan. Wat is er gebeurd?
some-alt