Buscar

Python 09 Listas I

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

Programação I
Aula 07
Listas
Professor: Francisco Airton
Curso: Sistemas de Informação
Estruturas de dados
• Maneira de organizar dados de maneira a facilitar seu acesso
• Algumas formas são clássicas:
– Listas
– Arrays (vetores e matrizes)
– Tuplas (registros)
– Árvores
• Linguagens freqüentemente possuem primitivas para construção 
dessas estruturas de dados
• Outras estruturas de dados mais complexas podem ser construídas 
combinando as estruturas de dados clássicas
Listas em Python
• São variáveis que podem conter simultaneamente mais de um valor, 
inclusive de diferentes tipos
– lista = [1, 'a', 'Rodrigo', 3.1415]
• Na verdade, pode ser vista como uma implementação tanto de listas
como de arrays
– Além de acesso seqüencial, suportam também acesso direto através de 
índices
• Listas são variedades de seqüências assim como strings e portanto 
têm APIs semelhantes
– Podem ser indexadas e fatiadas
– Podem ser concatenadas (+) e repetidas
Listas em Python
• Entretanto, há diferenças importantes entre 
listas e strings
– Elementos de listas podem ser alterados
individualmente mas os de strings, não
• Listas constituem o tipo de agregação de dados 
mais versátil e comum da linguagem Python
– Podem ser usadas para implementar estruturas de 
dados mais complexas como matrizes e árvores, 
por exemplo
Listas: constantes e índices
• Uma constante do tipo lista é escrita entre 
colchetes com os elementos separados por
vírgula:
[] # lista vazia
[1,2] # lista com 2 elementos
• Os elementos de uma lista podem ser de qualquer
tipo, inclusive listas. Ex.:
lista = [1, 'a', 'Rodrigo', 3.1415] 
• Os elementos de uma lista podem ser acessados
por índices como strings
– O primeiro elemento tem índice 0
– O último elemento tem índice -1
Listas: constantes e índices
>>> lista = [1, 'a', 'Rodrigo', 3.1415]
>>> lista [0]
1
>>> lista [2]
'Rodrigo'
>>> lista [3]
3.1415
>>> lista [-1]
3.1415
>>> lista [0] = 2
>>> lista
[2, 'a', 'Rodrigo', 3.1415]
Listas: Concatenação e Repetição
• O operador + pode ser usado para 
concatenação e o operador * para repetição
>>> lista = [0]*4
>>> lista
[0, 0, 0, 0]
>>> lista = lista + [1]*3
>>> lista
[0, 0, 0, 0, 1, 1, 1]
Inicializando listas
• Não é possível atribuir a uma posição 
inexistente de uma lista
>>> vetor = []
>>> vetor [0] = 1
Traceback (most recent call last):
File "<pyshell#21>", line 1, in -toplevel-
vetor [0] = 1
IndexError: list assignment index out of range
• Se uma lista vai ser usada como um array, isto 
é, vai conter um número predeterminado de 
elementos, é conveniente iniciá-la
>>> vetor = [0]*10
>>> vetor [0] = 3
>>> vetor
[3, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Exemplo
• Faça um programa que leia 15 números e os imprima e ordem 
inversa a qual foram lidos. 
lista=[0]*15
i=0
while (i<15):
lista[i]=input()
i+=1
i=1
while (i<=15):
print lista[-i]
i+=1
Exercícios
1. Faça um programa que leia as notas dos 50 alunos de uma turma e diga ao final quais notas 
ficaram acima da média da turma.
2. (vetor contador): 
Faça um programa que leia diversos votos para 100 candidatos (votos entre 0 e 99) e ao final 
diga qual foi o candidato vencedor (considere que não há empate). Os votos terminam com 
um número inválido (negativo ou maior que 99). Obs: Altere o programa de modo a 
considerar a possibilidade de empates.
3. Escreva um programa que leia uma lista de x inteiros seguida de uma lista de y caracteres, 
criando uma terceira lista que intercale os elementos das duas listas lidas
– obs1: pergunte ao usuário x e y no início
– obs2: a lista que for maior deverá ser repetida sequencialmente ao final
– Exemplo: x=3, y=5, l1 = [1,2,3] e l2 = ['a','b','c','d','e'], 
o programa deve computar a lista [1,'a',2,'b',3,'c','d','e']
4. DESAFIO:
Faça um programa que leia as informações dos 70 produtos de uma farmácia (código, preço
e quantidade em estoque). Em seguida permita ao usuário entrar com código e quantidade
que deseja comprar do produto até que seja entrado o código –1. Para cada código entrado
diminua a quantidade do estoque (caso tenha o suficiente) se o código for válido, senão
imprima mensagem de erro. Ao final da compra, diga o total a ser pago!

Outros materiais