Geneste Lijsten
Een geneste lijst in Python is een lijst die andere sublijsten als elementen bevat. Deze structuur is bijzonder nuttig voor het groeperen van gerelateerde items binnen een hoofd lijst, waarbij elke sublijst vaak gemeenschappelijke kenmerken of relaties deelt.
Om elementen binnen deze sublijsten te benaderen, wordt indexering sequentieel gebruikt — dat wil zeggen, we selecteren eerst de index van de hoofd lijst en vervolgens de index van de sublijst. De volgende praktische toepassing en het diagram geven een gedetailleerd overzicht van hoe je geneste lijsten effectief kunt aanmaken en beheren.
Voorbeeldtoepassing
Een klant in jouw supermarkt heeft een lijst met boodschappen samengesteld, waarbij de details van elk item zijn opgeslagen in sublijsten onder variabelenamen.
We zullen de klant helpen details te benaderen uit de milk
sublijst, een nieuw item toe te voegen, een bestaand item te verwijderen en de gehele grocery_list
te sorteren.
Laten we beginnen met het eerst aanmaken van een lijst, en stap voor stap verder gaan:
# Define individual grocery items as lists containing details bread = ["Bread", 4.80, 3, "Gluten Free"] # Item name, price, quantity, type milk = ["Milk", 5.99, 2, "2% Milk"] # Item name, price, quantity, type apple = ["Apple", 1.27, 12, "Fuji"] # Item name, price, quantity, type # Create the main grocery list that contains these items grocery_list = [bread, apple, milk] print("Grocery List:" , grocery_list) # Accessing and printing specific item details using indexing print("Item:", grocery_list[2][0]) # Accesses "Milk" title print("Price:", grocery_list[2][1]) # Accesses price of a Milk, which is 5.99 print("Quantity:", grocery_list[2][2]) # Accesses quantity of Milk, which is 2 print("Type:", grocery_list[2][3]) # Accesses type of Milk, which is "2% Milk" # Adding a new sublist item to the grocery list onion = ["Onions", 1.30, 10, "Yellow"] grocery_list.append(onion) # Removing an item from the grocery list grocery_list.remove(bread) # Sorting the grocery list alphabetically grocery_list.sort() print("Updated Grocery List:", grocery_list)
Het diagram hieronder toont de geneste lijststructuur van grocery_list
. Elk item in de lijst, zoals milk
, apple
en bread
, is zelf een lijst met specifieke itemdetails.
Om bijvoorbeeld de prijs van melk te benaderen, die is opgeslagen in de milk
sublijst, gebruik je de syntax grocery_list[2][1]
. Hier selecteert grocery_list[2]
de milk
sublijst, en grocery_list[2][1]
gaat een stap verder om het tweede element van die sublijst te benaderen — de prijs.
Swipe to start coding
Werk een inventarislijst bij voor de groenteafdeling van een supermarkt door een item te verwijderen, twee nieuwe items toe te voegen en de lijst alfabetisch te sorteren zonder duplicaten.
- Maak een variabele
vegetables
met de lijst["tomatoes", "potatoes", "onions"]
. - Verwijder
"onions"
uit de lijst. - Voeg
"carrots"
toe aan de lijst als deze er nog niet in staat. - Voeg
"cucumbers"
toe aan de lijst als deze er nog niet in staat. - Sorteer de lijst alfabetisch.
Uitvoervereisten
- Print de bijgewerkte groentelijst:
"Updated Vegetable Inventory: <$vegetables>"
. - Als
"carrots"
al in de lijst staat, print:"Carrots are already in the list."
- Als
"cucumbers"
al in de lijst staat, print:"Cucumbers are already in the list."
Oplossing
Bedankt voor je feedback!