Вкладені Списки
Вкладений список у Python — це список, який містить інші підсписки як свої елементи. Така структура особливо корисна для групування пов’язаних елементів у головному списку, де кожен підсписок зазвичай має спільні атрибути або взаємозв’язки.
Для доступу до елементів у цих підсписках використовується послідовна індексація — тобто, спочатку обирається індекс головного списку, а потім індекс підсписку. Наступний практичний приклад і діаграма детально показують, як ефективно створювати та керувати вкладеними списками.
Приклад застосування
Клієнт у вашому продуктовому магазині склав список продуктів, де деталі кожного товару зберігаються у підсписках під певними змінними.
Ми допоможемо клієнту отримати деталі з підсписку milk
, додати новий елемент, видалити існуючий елемент і відсортувати весь grocery_list
.
Почнемо зі створення списку та розглянемо кожен крок окремо:
# 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)
Діаграма нижче ілюструє вкладену структуру списку grocery_list
. Кожен елемент у списку, такий як milk
, apple
та bread
, є окремим списком, що містить деталі певного товару.
Наприклад, щоб отримати ціну молока, яка зберігається у підсписку milk
, використовується синтаксис grocery_list[2][1]
. Тут grocery_list[2]
вибирає підсписок milk
, а grocery_list[2][1]
додатково звертається до другого елемента цього підсписку — ціни.
Swipe to start coding
Оновлення списку інвентаризації овочевого відділу магазину шляхом видалення одного елемента, додавання двох нових елементів і сортування списку в алфавітному порядку без дублікатів.
- Створити змінну
vegetables
зі списком["tomatoes", "potatoes", "onions"]
. - Видалити
"onions"
зі списку. - Додати
"carrots"
до списку, якщо його ще немає. - Додати
"cucumbers"
до списку, якщо його ще немає. - Відсортувати список в алфавітному порядку.
Вимоги до виводу
- Вивести оновлений список овочів:
"Updated Vegetable Inventory: <$vegetables>"
. - Якщо
"carrots"
вже є у списку, вивести:"Carrots are already in the list."
- Якщо
"cucumbers"
вже є у списку, вивести:"Cucumbers are already in the list."
Рішення
Дякуємо за ваш відгук!