Carregar apresentação
A apresentação está carregando. Por favor, espere
1
IP – Listas Prof. Eduardo Falcão
2
Motivação As estruturas de controle vistas até agora permitem a resolução de vários problemas. Porém, ainda há situações em que a solução seria inviável apenas com os recursos que conhecemos até agora. Ex: escreva um programa que receba nomes e as 3 notas de 50 alunos, e ao fim, exiba os alunos que obtiverem média >= 7. Ex: escreva um programa que receba nomes e as 3 notas de 50 alunos, e ao fim, exiba os alunos que obtiverem média >= 7, seguidos por suas respectivas médias .
3
Outros exemplos Receber como entrada do usuário uma lista de números e depois exibi-los em ordem crescente Receber como entrada do usuário vários números e informar quantas vezes houve repetição nos dados
4
Analogia Imagine uma casa... toda casa possui seu endereço!
Rua das Flores, 2389
5
Analogia Quantas famílias moram em uma casa?
Geralmente, apenas uma! Não há muito espaço. Se alguém precisar enviar uma correspondência para essa família, o que não pode faltar? O endereço! E ele é único para cada casa!
6
Analogia Agora imagine que essa casa será demolida para a construção de um prédio. Rua das Flores, 2389
7
Analogia Quantas famílias podem morar em um prédio?
Várias, uma em cada apto! Todas terão o mesmo endereço “base”. Para enviar uma correspondência para um morador também será preciso especificar o nº do apto.
8
Listas Uma lista é um tipo estruturado de dados que corresponde a várias posições de memória com um único nome (endereço binário) Para acessar cada elemento, é usado um índice Memória 45 “Abacaxi” Ana Beto Caio 22 37 06 14 89 idade fruta nomes números
9
Criando listas Uma lista é representada por um conjunto de valores (elementos), separados por vírgulas, entre colchetes: nome = ["Ana", "Beto", "Caio"] numero = [22, 37, 06, 14, 89] Lista vazia: idade = []
10
Acessando listas Para acessar um único elemento, é necessário indicar seu índice na lista (o índice inicia em zero) numero = [22, 37, 6, 14, 89] numero[2] 6 nome = ["Ana", "Beto", "Caio"] nome[0] Ana Mas, como as listas podem ajudar a resolver os problemas discutidos anteriormente?
11
Exibindo e preenchendo listas
Para exibir elementos: Para inserir elementos: print(numero[0]) print(numero[1]) print(numero[2]) ... print(numero[99]) for i in range(100): print(numero[i]) for i in range(100): numero.append(int(input()))
12
range() vs xrange()
13
Somando listas Outra forma de adicionar elementos é através da soma. Os elementos da segunda lista serão adicionados no final da primeira lista. x = [2, 4, 1] x = x + [7, 9] x [2, 4, 1, 7, 9] Atenção: a ordem dos fatores altera o resultado! [3, 5, 0] + [4, 7] [3, 5, 0, 4, 7], é diferente de [4, 7] + [3, 5, 0] [4, 7, 3, 5, 0]
14
Operações em listas numero = [22, 37, 6, 14, 89]
Tamanho: len(numero) 5 Posição: numero.index(14) >>> 3 Sublista: numero[1:3] [37,6] #índice inicial e índice limite numero[:4] [22, 37, 6, 14] #índice inicial omitido é assumido como zero numero[2:] [6, 14, 89] # índice limite omitido é assumido como tamanho
15
Operações em listas numero = [22, 37, 6, 14, 89]
Inserção de elemento em uma posição: numero.insert(2, 50) [22, 37, 50, 6, 14, 89] #índice seguido por valor Alteração: numero[3] = 5 [22, 37, 6, 5, 89] Remoção: Apagar um elemento a partir de índice ou intervalo: del numero[2] [22, 37, 14, 89] Apagar a primeira ocorrência de um valor: numero.remove(14) [22, 37, 6, 89] Obs: Se o valor não estiver na lista, ocorre um erro Obs: Se o valor não estiver na lista, ocorre um erro
16
Operações em listas numero = [22, 37, 6, 14, 89]
Ordenação: numero.sort() [6, 14, 22, 37, 89] Inversão: numero.reverse() [89, 14, 6, 37, 22]
17
Listas heterogêneas Para guardar o nome, a idade e a profissão de várias pessoas, há duas opções: Opção 1) Criar 3 listas, uma para cada conjunto de dados. Os dados de uma mesma pessoa teriam o mesmo índice em cada lista nome = ["Pedro", "Maria", "Danilo") idade = [37, 43, 25] profissao = ["Dentista", "Advogada", "Policial"] print (nome[2], idade [2], profissao [2]) Danilo 25 Policial
18
Listas heterogêneas Para guardar o nome, a idade e a profissão de várias pessoas, há duas opções: Opção 2) Criar uma única lista com elementos de tipos diferentes (heterogênea) pessoa = ["Pedro", 37, "Dentista", "Maria", 43, "Advogada", "Danilo", 25, "Policial"] print (pessoa [6], pessoa [7], pessoa [8]) Danilo 25 Policial print( pessoa [6:9]) #Exibindo uma parte da lista ["Danilo", 25, "Policial")
19
Listas aninhadas Um dos elementos de uma lista pode ser outra lista funcionario = [["Pedro", 37, "Dentista"], ["Maria", 43,"Advogada"]] pessoa = ["Danilo", 25, "Policial"] funcionario.append(pessoa) funcionario = [["Pedro", 37, "Dentista"], ["Maria", 43, "Advogada"], ["Danilo", 25, "Policial"]] Dessa forma, as informações ficam mais organizadas e vários dados podem ser acessados juntos em uma única posição print(funcionario[2]) ["Danilo", 25, "Policial"]
20
Refs Baseado nos slides da prof Vanessa Dantas
Introdução à Programação com Python (2ª edição), por Nilo Ney Coutinho
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.