Listas Aninhadas
Uma lista aninhada em Python é uma lista que contém outras sublistas como seus elementos. Essa estrutura é especialmente útil para agrupar itens relacionados dentro de uma lista principal, onde cada sublista geralmente compartilha atributos ou relações em comum.
Para acessar elementos dentro dessas sublistas, utiliza-se indexação sequencial — ou seja, primeiro seleciona-se o índice da lista principal e depois o índice da sublista. A aplicação prática e o diagrama a seguir fornecem uma visão detalhada de como criar e gerenciar listas aninhadas de forma eficaz.
Aplicação de Exemplo
Um cliente em sua mercearia compilou uma lista de compras, onde os detalhes de cada item são armazenados em sublistas sob nomes de variáveis.
Vamos ajudar o cliente a acessar detalhes da sublista milk
, adicionar um novo item, remover um item existente e ordenar toda a grocery_list
.
Vamos começar criando uma lista e seguir passo a passo:
# 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)
O diagrama abaixo ilustra a estrutura de lista aninhada de grocery_list
. Cada item da lista, como milk
, apple
e bread
, é em si uma lista contendo detalhes específicos do item.
Por exemplo, para acessar o preço do leite, que está armazenado na sublista milk
, utiliza-se a sintaxe grocery_list[2][1]
. Aqui, grocery_list[2]
seleciona a sublista milk
, e grocery_list[2][1]
vai um passo além para acessar o segundo elemento dessa sublista — o preço.
Swipe to start coding
Atualize uma lista de inventário para a seção de vegetais de um supermercado removendo um item, adicionando dois novos itens e ordenando a lista alfabeticamente sem duplicatas.
- Crie uma variável
vegetables
com a lista["tomatoes", "potatoes", "onions"]
. - Remova
"onions"
da lista. - Adicione
"carrots"
à lista se ainda não estiver presente. - Adicione
"cucumbers"
à lista se ainda não estiver presente. - Ordene a lista em ordem alfabética.
Requisitos de Saída
- Imprima a lista de vegetais atualizada:
"Updated Vegetable Inventory: <$vegetables>"
. - Se
"carrots"
já estiver na lista, imprima:"Carrots are already in the list."
- Se
"cucumbers"
já estiver na lista, imprima:"Cucumbers are already in the list."
Solução
Obrigado pelo seu feedback!