S05 - Atividade de Aprendizagem (2 de 2): Índices de Listas
Preparação
Visão Geral
Esta atividade se aprofunda no trabalho com listas.
Na atividade anterior, você aprendeu como adicionar itens a uma lista (append) e como percorrer por cada item. Nesta atividade, você aprenderá como acessar os itens de uma lista em qualquer local e como removê-los.
Acessar itens de uma lista pelo índice
Link Direto: Índices de Lista
Você pode acessar um item em uma lista usando a notação de colchetes [] em um índice específico:
primeiro = lista[0] # obtém o primeiro item
segundo = lista[1] # obtém o segundo item
index = int(input("Qual índice você gostaria de obter? "))
escolha_usuario = lista[index] # obtém o item no índice que o usuário digitou
Não esqueça que Python, como a maioria das linguagens de programação, começa a contar os índices em 0. Portanto, o primeiro item está no índice 0 e o último item de uma lista de 10 elementos está no índice 9.
Descobrir o tamanho da lista
Você pode descobrir quantos elementos há em uma lista usando a função len (que é a abreviação de length), da seguinte maneira:
numero_de_livros = len(livros)
Percorrer itens de uma lista usando um índice
Nas aulas anteriores, você aprendeu como percorrer cada item de uma lista usando um loop for padrão. Outra maneira de fazer isso é usando um loop que percorra pelos índices de 0 até o tamanho da lista e, em seguida, acesse cada item usando a notação []:
for i in range(len(livros)):
livro = livros[i]
print(livro) # exibe cada livro na tela.
Ao observar melhor o loop for, você pode perceber que len(livros) obtém o número de itens na lista e, em seguida, for i in range(...): percorre pelos números 0, 1, 2, 3, ..., até (mas não incluindo) o tamanho da lista. Portanto, se a lista tiver 10 elementos, o loop percorrerá de 0 a 9, que são os índices exatos que você deseja.
Dica do Instrutor:
Uma observação sobre nomes de variáveis:
Normalmente, evitamos nomes de variáveis com uma única letra, como i ou j, mas quando se trata de usar loops para percorrer números como esse, é muito comum usar “i” como nome da variável. Então, se acontecer de você ter um segundo loop dentro dele, é comum usar “j” para essa variável. Um terceiro loop usaria k.
Se você tiver mais de três loops um dentro do outro, normalmente será necessário analisar seu código um pouco a fundo para ver se há uma maneira de simplificar seu problema.
Imprimir índices
Se quiser imprimir os números de índice próximos aos elementos da lista à medida que você percorre a lista, é possível imprimir o valor da variável i:
for i in range(len(livros)):
livro = livros[i]
print(f"{i}. {livro}")
Mas tenha cuidado. Lembre-se que os índices começam em 0. Se quiser imprimir esses números de uma maneira mais simplificada, pode ser necessário adicionar 1 à variável i ao exibi-la.
Trabalhando com listas paralelas
Às vezes, você se depara com uma situação em que tem duas listas com as quais deseja trabalhar ao mesmo tempo. Por exemplo, a primeira lista pode conter os nomes dos seus amigos e a segunda pode ter os números de telefone deles. Se você quiser percorrer as listas e exibir o nome e o número de telefone, não poderá usar um loop padrão como for nome in nomes: porque você não conseguiria obter o número correspondente.
A solução mais comum para esse problema é percorrer a lista usando os índices que correspondem a uma das listas e, em seguida, acessar o item de cada lista nesse índice:
nomes = []
numeros = []
# ...
# Código que preenche as duas listas
# ...
for i in range(len(nomes)):
nome = nomes[i]
numero = numeros[i]
print(f"{nome} - {numero}")
Dica do Instrutor:
Lembre-se de que em casos como esse você deve ter muito cuidado para que as duas listas não fiquem fora de sincronia. Nos próximos cursos, você aprenderá outras técnicas para combinar dois elementos em um único tipo de dados, para que possa mantê-los sempre juntos.
Remover itens de uma lista
Existem algumas maneiras diferentes de remover itens de uma lista na linguagem Python, mas a mais fácil é usar a função pop. Você indica à função pop o índice do item que deseja remover. Se você não fornecer um índice, a função remove o último item da lista:
lista.pop(3) # Remove o item no índice 3
lista.pop() # Remove o último item da lista
Quando você remove um item de um determinado índice, todos os elementos da lista que o seguem são reposicionados. Em outras palavras, se você remover o item do índice 3, o item que estava no índice 4 passará para o 3, o item do índice 5 passará para o 4 e assim por diante.
Instruções da Atividade
Visão Geral
Pratique o uso de listas e índices de listas.
Instruções
Peça ao usuário uma lista de itens em uma lista de compras. Pare de pedir itens quando o usuário digitar 'sair'.
Em seguida, faça o seguinte:
Faça um loop dos itens da maneira normal (por exemplo,
for item in lista) e exiba cada um deles para ter certeza de que a lista inicial foi criada corretamente.Crie outro loop para percorrer e imprimir os itens da lista, mas desta vez, em vez de usar a sintaxe
for ... in, use um índice (por exemplo,for ... in range), então acesse o item usando o índice e os colchetes. Imprima o índice na frente dos itens assim:0. LeitePeça ao usuário um índice e um novo item da lista de compras. Substitua o item nesse índice pelo novo item. Em seguida, exiba a lista inteira novamente.
Os exemplos a seguir mostram o resultado esperado:
Por favor, insira os itens da lista de compras (digite 'sair' para finalizar):
Item: Leite
Item: Pão
Item: Chocolate
Item: Cenouras
Item: sair
A lista de compras é:
Leite
Pão
Chocolate
Cenouras
A lista de compras com índices é:
0. Leite
1. Pão
2. Chocolate
3. Cenouras
Qual item você gostaria de alterar? 2
Qual é o novo item? Maçãs
A lista de compras com índices é:
0. Leite
1. Pão
2. Maçãs
3. Cenouras
Exemplo de Solução
Quando terminar seu programa, por favor, consulte o exemplo de solução para comparar sua abordagem com a apresentada.
Primeiro, trabalhe para concluir o programa sem consultar o exemplo de solução. Caso tenha trabalhado por um longo tempo e ainda enfrente dificuldades, sinta-se à vontade para usar o exemplo para ajudá-lo a finalizar seu programa.
Procedimento de Teste
Verifique se seu programa funciona corretamente seguindo cada etapa deste procedimento de teste:
Verifique se você pode adicionar todos os itens à lista e exibi-los. (Verifique de forma semelhante à realizada na atividade da aula anterior.)
Percorra pela lista usando um índice. Verifique se o seu programa exibe o índice antes do item e se o índice começa em 0 para o primeiro item.
Verifique se você pode pedir ao usuário para digitar um índice e um novo item.
Defina o valor nesse índice como o novo item digitado pelo usuário. Verifique se isso não causa erros.
Imprima os itens novamente e verifique se o novo item está na lista e no local correto.
Envio de Tarefa
Você concluiu todas as atividades de aprendizagem da semana!
Lembre-se de:
- Voltar ao Canvas e responda ao respectivo questionário.
Próxima Atividade
- S05 - Questionário: Listas
Outros links:
- Voltar para: Visão Geral da Semana | Página Inicial