Buscar

Operações com Listas em Python

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 8 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 8 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

Prévia do material em texto

COMPUTAÇÃO I
Professor: Aloísio Pina
Listas
São sequências de elementos entre colchetes e separados por vírgulas.
Exemplo:
Acessando um elemento da lista
Cada elemento da lista pode ser acessado através de seu índice entre colchetes.
Os índices da lista começam sempre em zero.
Exemplo:
1
5
9
ATENÇÃO: Não confunda o elemento com seu índice na lista!
Exemplo: O elemento de índice 3 é 7:
7
Exemplo: O elemento 3 está no índice 1:
3
Cada elemento da lista pode ser acessado também através de índices negativos, começando no
final da lista.
Os índices negativos da lista começam sempre em -1 (não começam em zero porque dessa
forma o índice zero marcaria duas posições distintas na lista).
In [1]: L = [1, 3, 5, 7, 9]
In [ ]: L = [ 1, 3, 5, 7, 9]
 | | | | |
 0 1 2 3 4
In [2]: L[0]
Out[2]:
In [3]: L[2]
Out[3]:
In [4]: L[4]
Out[4]:
In [5]: L[3]
Out[5]:
In [6]: L[1]
Out[6]:
Exemplo:
9
5
1
Observação: Podemos concluir que o primeiro elemento da lista está sempre no índice zero e o
último elemento da lista está sempre no índice -1.
Funções intrínsecas úteis
max(L): retorna o maior elemento da lista L
min(L): retorna o menor elemento da lista L
sum(L): retorna a soma de todos os elementos da lista L
len(L): retorna o número de elementos da lista L ("tamanho" da lista)
Exemplo:
9
1
25
5
Acessando todos os elementos da lista
Muitas vezes é interessante que se possa acessar todos os elementos da lista.
Isso é feito de forma iterativa usando um comando de repetição.
Se a variável de controle do comando de repetição for usada como índice na lista, a cada
iteração acessaremos um dos elementos.
In [ ]: L = [ 1, 3, 5, 7, 9]
 | | | | |
 -5 -4 -3 -2 -1
In [7]: L[-1]
Out[7]:
In [8]: L[-3]
Out[8]:
In [9]: L[-5]
Out[9]:
In [10]: L = [1, 3, 5, 7, 9]
In [11]: max(L)
Out[11]:
In [12]: min(L)
Out[12]:
In [13]: sum(L)
Out[13]:
In [14]: len(L)
Out[14]:
Sabemos que o índice inicial da lista é zero, mas não podemos usar -1 como índice final, pois
iniciando em zero e aumentando em 1 a cada iteração, o valor de i nunca será -1.
Portanto temos que saber o indíce positivo do elemento final.
Considerando que a lista tem n elementos e os índices começam em zero então o índice final é
n-1. Podemos determinar n com a função len, portanto para acessar todos os elementos de uma
lista L temos:
ou:
Exemplo: imprimir na tela todos os elementos da lista L:
1
3
5
7
9
Operações básicas em listas
1) Concatenação: ligar o final de uma lista ao início de outra lista, formando uma nova lista,
usando o operador de concatenação +.
Exemplo:
[1, 3, 5, 2, 4, 6]
ATENÇÃO: Usado entre listas, o operador + não é soma, mas podemos somar elementos
individuais.
7
2) Repetição: repetir os elementos de uma lista um determinado número de vezes, formando
uma nova lista, usando o operador de repetição *.
In [ ]: i = índice inicial da lista L
while i <= índice final da lista L:
 comandos usando L[i]
 i = i + 1
In [ ]: i = 0
while i <= len(L) - 1:
 comandos usando L[i]
 i = i + 1
In [ ]: i = 0
while i < len(L):
 comandos usando L[i]
 i = i + 1
In [15]: i = 0
while i < len(L):
 print(L[i])
 i = i + 1
In [16]: [1, 3, 5] + [2, 4, 6]
Out[16]:
In [17]: L1 = [1, 3, 5]
L2 = [2, 4, 6]
L1[-1] + L2[0]
Out[17]:
Exemplo:
[1, 3, 5, 1, 3, 5, 1, 3, 5]
[1, 3, 5, 1, 3, 5, 1, 3, 5]
ATENÇÃO: Usado entre listas, o operador * não é multiplicação, mas podemos multiplicar
elementos individuais, uns pelos outros ou por valores numéricos.
10
12
A repetição é útil para a inicialização de listas de um tamanho determinado.
Exemplo: Inicializar uma lista de zeros com 10 elementos:
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Sublistas
Podemos definir susblistas de uma lista, especificando os índices de início e fim:
L[ início : fim ] é a sublista que contém todos os elementos de L entre os índices "início" e "fim".
Exemplo:
[3, 5]
Obs.: Se o índice de início não for especificado, é o início da lista; se o índice de fim não for
especificado é o fim da lista.
Exemplo:
[1, 3, 5]
In [18]: [1, 3, 5] * 3
Out[18]:
In [19]: 3 * [1, 3, 5]
Out[19]:
In [20]: L1 = [1, 3, 5]
L2 = [2, 4, 6]
L1[-1] * 2
Out[20]:
In [21]: L1[1] * L2[-2]
Out[21]:
In [22]: Zeros = [0] * 10
Zeros
Out[22]:
In [23]: L = [1, 3, 5, 7, 9]
L[1:3]
Out[23]:
In [ ]: L = [ 1, | 3, 5, | 7, 9]
 | | | | |
 0 1 2 3 4
In [24]: L[:3]
Out[24]:
[5, 7, 9]
[1, 3, 5, 7, 9]
Alteração de listas
1) Atribuição direta:
L[ índice ] = valor
Exemplo:
[1, 3, 5, 10, 9]
1) Substituição de sublistas:
L[ início : fim ] = lista
Exemplo:
[1, 2, 4, 6, 9]
Obs.: A susbstituição de uma sublista pode ser por uma lista de qualquer tamanho.
Exemplo:
[1, 2, 9]
[1, 2, 4, 6, 8, 10, 12, 9]
Operações de manutenção de listas
1) Busca em de um valor v em uma lista L: usa-se um comando de repetição para verificar
iterativamente qual dos elementos de L é igual ao valor v.
In [25]: L[2:]
Out[25]:
In [26]: L[:]
Out[26]:
In [27]: L = [1, 3, 5, 7, 9]
L[3] = 10
L
Out[27]:
In [28]: L = [1, 3, 5, 7, 9]
L[1:4] = [2, 4, 6]
L
Out[28]:
In [29]: L = [1, 3, 5, 7, 9]
L[1:4] = [2]
L
Out[29]:
In [30]: L = [1, 3, 5, 7, 9]
L[1:4] = [2, 4, 6, 8, 10, 12]
L
Out[30]:
2) Inserção do valor v na posição i de uma lista L: pode ser feita por concatenação ou por
susbstituição.
Por concatenação: L = L[ : i ] + [ v ] + L[ i : ]
Por substituição: L[ i : i ] = [ v ]
Exemplo: Dada a lista [1, 3, 5, 7, 9], inserir 10 na posição 3.
Por concatenação:
[1, 3, 5, 10, 7, 9]
Por substituição:
[1, 3, 5, 10, 7, 9]
3) Retirada do valor na posição i de uma lista L: pode ser feita por concatenação ou por
susbstituição.
Por concatenação: L = L[ : i ] + L[ i+1 : ]
Por substituição: L[ i : i+1 ] = [ ]
Exemplo: Dada a lista [1, 3, 5, 7, 9], remover o elemento da posição 3.
Por concatenação:
[1, 3, 5, 9]
Por substituição:
In [ ]: i = 0
while i < len(L):
 if L[i] == v:
 <valor encontrado>
 i = i + 1
In [31]: L = [1, 3, 5, 7, 9]
v = 10
i = 3
L = L[ : i ] + [ v ] + L[ i : ]
L
Out[31]:
In [32]: L = [1, 3, 5, 7, 9]
v = 10
i = 3
L[ i : i ] = [ v ]
L
Out[32]:
In [33]: L = [1, 3, 5, 7, 9]
i = 3
L = L[ : i ] + L[ i+1 : ]
L
Out[33]:
In [34]: L = [1, 3, 5, 7, 9]
i = 3
[1, 3, 5, 9]
Operador in
Serve para determinar se um dado valor está ou não em uma lista. O resultado da operação é
True se estiver, ou False se não estiver.
Exemplo:
True
False
Métodos
São funções associadas a estruturas complexas, como listas.
Os métodos podem ser de dois tipos:
Métodos que retornam valores relacionados às estruturas.
Métodos que alteram a própria estrutura.
Métodos úteis de listas
L.index(v) -> retorna o índice da primeira ocorrência de v em L
L.count(v) -> retorna o número de ocorrências de v em L
L.append(v) -> inclui v no final de L
L.insert(i, v) -> insere v na posição i de L
L.remove(v) -> remove a primeira ocorrência de v em L
L.reverse() -> inverte L
L.sort() -> ordena L
Obs.: Para saber todos os métodos de listas, basta usar: help(list)
Exemplos:
L[ i : i+1 ] = [ ]
L
Out[34]:
In [35]: L = [1, 3, 5, 7, 9]
3 in L
Out[35]:
In [36]: 10 in L
Out[36]:
In [ ]: variável = estrutura.método(argumentos)
In [ ]: estrutura.método(argumentos)
3
2
[1, 5, 9, 7, 5, 3]
[1, 8, 5, 9, 7, 5, 3]
[1, 8, 9, 7, 5, 3]
[3, 5, 7, 9, 8, 1]
[1, 3, 5, 7, 8, 9]
In [13]: L = [1, 5, 9, 7, 5]
In [14]: L.index(7)
Out[14]:
In [15]: L.count(5)
Out[15]:
In [16]: L.append(3)
In [17]: print(L)
In [18]: L.insert(1, 8)
In [19]: print(L)
In [20]: L.remove(5)
In [21]: print(L)
In [22]: L.reverse()
In [23]: print(L)
In [24]: L.sort()
In [25]: print(L)

Mais conteúdos dessa disciplina