Listes Imbriquées
Une liste imbriquée en Python est une liste qui contient d'autres sous-listes comme éléments. Cette structure est particulièrement utile pour regrouper des éléments liés au sein d'une liste principale, où chaque sous-liste partage souvent des attributs ou des relations communes.
Pour accéder aux éléments de ces sous-listes, l'indexation est utilisée de manière séquentielle — c'est-à-dire que l'on sélectionne d'abord l'index de la liste principale, puis celui de la sous-liste. L'application pratique suivante et le schéma associé offrent un aperçu détaillé de la création et de la gestion efficace des listes imbriquées.
Exemple d'application
Un client de votre épicerie a établi une liste d'articles d'épicerie, où les détails de chaque article sont stockés dans des sous-listes sous différents noms de variables.
Nous allons aider le client à accéder aux détails de la sous-liste milk
, ajouter un nouvel article, supprimer un article existant et trier l'ensemble de la grocery_list
.
Commençons par créer une liste, puis avançons étape par étape :
# 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)
Le schéma ci-dessous illustre la structure de liste imbriquée de grocery_list
. Chaque élément de la liste, tel que milk
, apple
et bread
, est lui-même une liste contenant les détails spécifiques de l'article.
Par exemple, pour accéder au prix du lait, qui est stocké dans la sous-liste milk
, on utilise la syntaxe grocery_list[2][1]
. Ici, grocery_list[2]
sélectionne la sous-liste milk
, et grocery_list[2][1]
va plus loin pour accéder au deuxième élément de cette sous-liste — le prix.
Swipe to start coding
Mettre à jour une liste d'inventaire pour le rayon légumes d'une épicerie en supprimant un article, en ajoutant deux nouveaux articles et en triant la liste par ordre alphabétique sans doublons.
- Créer une variable
vegetables
avec la liste["tomatoes", "potatoes", "onions"]
. - Supprimer
"onions"
de la liste. - Ajouter
"carrots"
à la liste si elle n'y figure pas déjà. - Ajouter
"cucumbers"
à la liste si elle n'y figure pas déjà. - Trier la liste par ordre alphabétique.
Exigences de sortie
- Afficher la liste de légumes mise à jour :
"Updated Vegetable Inventory: <$vegetables>"
. - Si
"carrots"
est déjà dans la liste, afficher :"Carrots are already in the list."
- Si
"cucumbers"
est déjà dans la liste, afficher :"Cucumbers are already in the list."
Solution
Merci pour vos commentaires !