Nästlade Listor
En nästlad lista i Python är en lista som innehåller andra underlistor som sina element. Denna struktur är särskilt användbar för att gruppera relaterade objekt inom en huvudlista, där varje underlista ofta delar gemensamma attribut eller relationer.
För att komma åt element inom dessa underlistor används indexering sekventiellt — vilket betyder att vi väljer först huvudlistans index och sedan underlistans index. Den följande praktiska tillämpningen och diagrammet ger en detaljerad översikt över hur du kan skapa och hantera nästlade listor effektivt.
Exempelapplikation
En kund i din livsmedelsbutik har sammanställt en lista över livsmedelsvaror, där varje varas detaljer lagras i underlistor under variabelnamn.
Vi kommer att hjälpa kunden att komma åt detaljer från milk
-underlistan, lägga till en ny vara, ta bort en befintlig vara och sortera hela grocery_list
.
Låt oss börja med att skapa en lista först och gå steg för steg:
# 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)
Diagrammet nedan illustrerar den nästlade liststrukturen för grocery_list
. Varje vara i listan, såsom milk
, apple
och bread
, är i sig en lista som innehåller specifika varudetaljer.
Till exempel, för att komma åt priset på mjölk, som är lagrat i milk
underlistan, använder du syntaxen grocery_list[2][1]
. Här väljer grocery_list[2]
milk
underlistan, och grocery_list[2][1]
går ett steg längre för att komma åt det andra elementet i den underlistan — priset.
Swipe to start coding
Uppdatera en inventarielista för en livsmedelsbutiks grönsaksavdelning genom att ta bort en artikel, lägga till två nya artiklar och sortera listan alfabetiskt utan dubbletter.
- Skapa en variabel
vegetables
med listan["tomatoes", "potatoes", "onions"]
. - Ta bort
"onions"
från listan. - Lägg till
"carrots"
till listan om den inte redan finns där. - Lägg till
"cucumbers"
till listan om den inte redan finns där. - Sortera listan alfabetiskt.
Utmatningskrav
- Skriv ut den uppdaterade grönsaklistan:
"Updated Vegetable Inventory: <$vegetables>"
. - Om
"carrots"
redan finns i listan, skriv ut:"Carrots are already in the list."
- Om
"cucumbers"
redan finns i listan, skriv ut:"Cucumbers are already in the list."
Lösning
Tack för dina kommentarer!