Buscar

Aula16 - Listas - Parte2

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 3, do total de 14 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 6, do total de 14 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

Você também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes

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ê também pode ser Premium ajudando estudantes
Você viu 9, do total de 14 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

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Aula 16 – Listas
continuação
Computação I - 2014/1 2
Listas - Fatias
Podemos usar a notação de fatias (slices) em listas.
>>> lista = ['a',2,[3,'f'], 'q']
>>> lista [1:]
 
>>> lista [:1]
 
>>> lista [1:2]
 
>>> lista [0:-1]
 
[start : end] : vai do índice start até o índice end-1
[start : ] : vai de start até o final da lista
[ : end] : vai do início da lista até end-1
[ : ] : copia a lista toda
3
Listas - Fatias
Podemos usar a notação de fatias (slices) em listas.
>>> lista = ['a',2,[3,'f'], 'q']
>>> lista [1:]
[2,[3,'f'], 'q']
>>> lista [:1]
['a']
>>> lista [1:2]
[2]
>>> lista [0:-1]
['a',2,[3,'f']]
[start : end] : vai do índice start até o índice end-1
[start : ] : vai de start até o final da lista
[ : end] : vai do início da lista até end-1
[ : ] : copia a lista toda
Índice 1 até o final da lista
Índice 0 até o índice 0
Índice 1 até o índice 1
Índice 0 até o índice -2 (equivalente a ?)
Computação I - 2014/1
4
Listas - Fatias
Incremento:Incremento: podemos usar incremento / decremento para selecionar os elementos de 
uma lista.
Exemplo
>>> lista = [1,2,3,4,5,6]
>>> lista[0:-1:2]
 
>>> lista[5:0:-1]
 
>>> lista[0:-1:3]
 
>>> lista[::-1]
 
[start:end:step] : vai do índice start até end (sem ultrapassá-lo),
com passo step
Computação I - 2014/1
5
Listas - Fatias
Incremento:Incremento: podemos usar incremento / decremento para selecionar os elementos de
 uma lista.
Exemplo
>>> lista = [1,2,3,4,5,6]
>>> lista[0:-1:2]
[1, 3, 5]
>>> lista[5:0:-1]
[6, 5, 4, 3, 2]
>>> lista[0:-1:3]
[1, 4]
>>> lista[::-1]
[6, 5, 4, 3, 2, 1]
Índice 0 até o índice -2 de 2 em 2
[start:end:step] : vai do índice start até end -1(sem ultrapassá-lo),
com passo step
Índice 5 até o índice 1 de 1 em 1
Índice 0 até o índice -2 de 3 em 3
Inverte a lista
Computação I - 2014/1
6
Listas - Fatias
Atribuição:Atribuição: ao atribuir uma sequência a uma fatia, os elementos desta devem ser 
substituídos pelos elementos daquela.
>>> lista = [1,2,3,4,5]
[1, 2, 3, 4, 5] [1, ”a”, ”b”, 4, 5]
lista[1:3] = [“a”,”b”]
[1, 2, 3, 4, 5] [1, 2, ”a”, ”b”]
lista[2:] = [“a”,”b”]
Computação I - 2014/1
7
Listas - Fatias
Atribuição:Atribuição: ao atribuir uma sequência a uma fatia, os elementos desta devem ser 
substituídos pelos elementos daquela.
>>> lista = [1,2,3,4,5]
[1, 2, 3, 4, 5] [”a”, ”b”, 3, 4, 5]
lista[:2] = [“a”,”b”]
[1, 2, 3, 4, 5] [ [”a”, ”b”], 3, 4, 5]
lista[:2] = [[“a”,”b”]]
Computação I - 2014/1
8
Listas - Fatias
Atribuição:Atribuição: ao atribuir uma sequência a uma fatia, os elementos desta devem ser 
substituídos pelos elementos daquela.
>>> lista = [1,2,3,4,5]
>>> novalista = [8,10]
[1, 2, 3, 4, 5] [1, 2, 8, 10, 3, 4, 5]
lista[2:2] = novalista
[1, 2, 3, 4, 5] [ 1, 8, 10, 5]
lista[1:4] = novalista
Computação I - 2014/1
9
Listas - Fatias
Atribuição:Atribuição: ao atribuir uma sequência a uma fatia, os elementos desta devem ser 
substituídos pelos elementos daquela.
Exercício
>>> lista = [1,2,3,4,5]
>>> lista [1:1] = ['z']
 
>>> lista [1:3] = [[7]]
 
>>> lista [1:-1]= [8,9,10]
 
>>> lista[:3]="xyz"
 
>>> lista[:3]="a,b,c"
 
>>> lista[:2]=1,2,3
 
Computação I - 2014/1
10
Listas - Fatias
Atribuição:Atribuição: ao atribuir uma sequência a uma fatia, os elementos desta devem ser 
substituídos pelos elementos daquela.
Exercício (observe que a lista vai sendo alterada)
>>> lista = [1,2,3,4,5]
>>> lista [1:1] = ['z']
 [1, 'z', 2, 3, 4, 5]
>>> lista [1:3] = [[7]]
 [1, [7], 3, 4, 5]
>>> lista [1:-1]= [8,9,10]
 [1, 8, 9, 10, 5]
>>> lista[:3]="xyz"
 ['x', 'y', 'z', 10, 5]
>>> lista[:3]="a,b,c"
 ['a', ',', 'b', ',', 'c', 10, 5]
>>> lista[:2]=1,2,3
 [1, 2, 3, 'b', ',', 'c', 10, 5]
Computação I - 2014/1
11
Listas - Fatias
Atribuição:Atribuição: cuidado quando fizer cópia de listas!
Exemplo
>>> l1 = [1,2,3,4,5]
>>> l2 = l1
>>> l1
 [1,2,3,4,5]
>>> l2
 [1,2,3,4,5]
>>> l2[0]=9
>>> l2
 [9,2,3,4,5]
>>> l1
 [9,2,3,4,5]
Computação I - 2014/1
12
Listas - Fatias
Atribuição:Atribuição: cuidado quando fizer cópia de listas!
Exemplo
>>> l1 = [1,2,3,4,5]
>>> l2 = l1[:]
>>> l1
 [1,2,3,4,5]
>>> l2
 [1,2,3,4,5]
>>> l2[0]=9
>>> l2
 [9,2,3,4,5]
>>> l1
 [1,2,3,4,5]
Computação I - 2014/1
13
Listas - Fatias
Incremento:Incremento: podemos usar incremento / decremento para selecionar os elementos de
 uma lista.
ATENÇÃO: Se um incremento de fatia é diferente de 1, uma
atribuição à fatia deve ter o mesmo número de elementos.
>>> l = [1,2,3,4,5]
>>> l[0::2] = ['x','y','z']
>>> l
 ['x',2, 'y', 4, 'z']
>>> l[0::2] = [6,7]
Traceback (most recent call last):
File "<pyshell#17>",line 1, in -toplevel-
l [0::2] = [6,7]
ValueError: attempt to assign sequence of size 2
to extended slice of size 3Computação I - 2014/1
14
Aula 16 – Listas
continuação
Computação I - 2014/1
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14

Continue navegando