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 hoofdlijst, waarbij elke sublijst vaak gemeenschappelijke attributen of relaties deelt.
Om elementen binnen deze sublijsten te benaderen, wordt indexering sequentieel gebruikt — wat betekent dat we eerst de index van de hoofdlijst selecteren en vervolgens de index van de sublijst. De volgende praktische toepassing en diagram bieden een gedetailleerd overzicht van hoe je geneste lijsten effectief kunt maken en beheren.
Voorbeeldtoepassing
Een klant in uw 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 maken 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 illustreert de geneste lijststructuur van grocery_list
. Elk item in de lijst, zoals milk
, apple
en bread
, is zelf een lijst die specifieke itemdetails bevat.
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 is. - Voeg
"cucumbers"
toe aan de lijst als deze er nog niet is. - Sorteer de lijst alfabetisch.
Outputvereisten
- 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!