A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

IP – Listas Prof. Eduardo Falcão.

Apresentações semelhantes


Apresentação em tema: "IP – Listas Prof. Eduardo Falcão."— Transcrição da apresentação:

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


Carregar ppt "IP – Listas Prof. Eduardo Falcão."

Apresentações semelhantes


Anúncios Google