Buscar

Aplicações utilizando comandos iterativos aninhados (nível fácil de aninhamento 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 18 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 18 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 18 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

PENSAMENTO 
COMPUTACIONAL
Patrícia Fernanda da Silva
Vanessa Stangherlin Machado Paixão Cortes
Operações e métodos 
de lista (Python)
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
 � Explicar os métodos definidos para listas em Python.
 � Exemplificar a utilização das operações e dos métodos em Python.
 � Utilizar listas e os seus métodos em problemas computacionais.
Introdução
Qualquer programa que valha a pena ser escrito precisa manipular dados. 
Algumas vezes, esses dados são fáceis de manipular, e variáveis simples 
podem ser usadas. Mas, na maior parte dos casos, precisamos escrever 
programas que manipulam dados complexos. Para dominar essa com-
plexidade, muitas vezes podemos armazenar esses dados em listas – por 
exemplo, listas de clientes, de amigos, de produtos, e assim por diante, 
conforme leciona Barry (2012). O Python apresenta muitos recursos po-
derosos para manipular listas por meio de seus métodos e operações, 
permitindo criar programas capazes de lidar com dados mais complexos.
Neste capítulo, você vai estudar sobre o uso de métodos definidos 
para listas em Python. Você também vai analisar o uso de operações e 
métodos e, por fim, vai praticá-los em problemas computacionais.
Métodos definidos para listas em Python
Na linguagem de programação Python, as listas são representadas por uma 
sequência de objetos separados por vírgula e dentro de colchetes. Uma lista é 
um conjunto sequencial de valores, em que cada valor é identificado por meio 
de um índice 0. Para Maruch e Maruch (2006), uma lista é um tipo de dado 
mutável, ou seja, você pode realizar a alteração do conteúdo de uma lista 
sem que uma nova lista tenha que ser criada. Uma mesma lista pode conter 
números, strings, outras listas, tuplas, funções e classes.
Uma lista em Python pode ser declarada com a estrutura demonstrada 
na Figura 1.
Figura 1. Exemplo de estrutura de uma lista.
As listas contam com uma variedade de métodos, como inserção, exclusão, 
contagem e ordenação de seus elementos. Na Figura 2, podemos ver a utilização 
do método sort( ) para ordenar uma lista de anos.
Figura 2. Exemplo de uma lista com o método 
sort( ).
Operações e métodos de lista (Python)2
Observe que, na primeira versão da lista, os números estavam desordena-
dos; após a execução do método sort( ), os números foram ordenados em 
ordem crescente dentro da lista.
Conhecendo uma tupla
A tupla, assim como uma lista, é um conjunto de valores em sequência, em 
que cada valor é identificado por meio de um índice (Figura 3). A diferença 
principal entre uma tupla e uma lista é que as tuplas são imutáveis, isto é, 
seus elementos não podem ser alterados.
Caso seja necessário alterar uma tupla, a solução é criar uma nova com 
o conteúdo necessário. No entanto, se essa tupla tiver um elemento mutável, 
como uma lista, o elemento mutável poderá ser alterado.
Figura 3. Exemplo de uma tupla.
Ao utilizar uma tupla, a não ser que ela seja vazia, é necessário utilizar 
uma vírgula, mesmo se houver um único elemento, pois o operador que define 
a tupla é a vírgula. É indicado o uso de parênteses nas tuplas; assim, ficará 
mais fácil identificá-las. Veja os exemplos a seguir.
dias_da_semana = ("domingo", "segunda", "terça", "quarta", ) 
t = ("11", "quarta-feira", "Janeiro", 2019)
t = ("x", "y", 10, 20, "c").
3Operações e métodos de lista (Python)
A vírgula tem várias funções na linguagem de programação Python, po-
dendo ser avaliada após outras operações. Observe na Figura 4 o uso do 
operador * em uma tupla de elemento único.
Figura 4. Exemplo do operador * em uma tupla.
Desempacotamento de listas/tuplas
Listas e tuplas são muito úteis quando precisamos armazenar vários valores 
em uma única variável e queremos ter fácil acesso aos mesmos. No entanto, 
existem situações em que precisamos transferir os valores de uma lista/tupla 
para variáveis individuais. Em uma linguagem de programação tradicional, 
escreveríamos um código como o da Figura 5.
Figura 5. Copiando valores de uma lista para variáveis individuais.
Operações e métodos de lista (Python)4
Em Python, isso é muito mais simples, graças à operação de desempacota-
mento. Essa operação permite atribuir os elementos armazenados em uma tupla 
ou lista a diversas variáveis. A Figura 6 mostra como fazer isso em Python.
Figura 6. Desempacotamento de tuplas/listas.
Quando utilizar uma lista ou uma tupla
À primeira vista, listas e tuplas podem ser muito parecidas; porém, existem 
diferenças entre elas que devem ser lembradas antes de se iniciar a utilização 
das mesmas ou de escolher entre uma e outra. Para Cuducos (2018), as listas 
ocupam mais espaço em memória; isso porque permitem que mais itens sejam 
inseridos nelas rapidamente, sem que haja preocupação. As tuplas necessitam 
de menos memória, porém, não permitem inclusão ou exclusão de itens — por 
isso, ocupam somente o necessário de memória.
Basicamente, listas e tuplas se diferenciam por características bastante 
simples.
 � Uma tupla é imutável, e uma lista é mutável.
 � As tuplas são mais eficientes em termos de memória.
 � As listas têm vários métodos internos úteis.
As tuplas são mais eficientes do que as listas de informações que não serão 
alteradas, pois elas utilizam menos memória e não mudam de forma inesperada. 
No entanto, as listas costumam ser melhores para informações que precisarão 
ser alteradas, porque podem ser manipuladas de diferentes maneiras.
5Operações e métodos de lista (Python)
Aprenda mais sobre listas e tuplas acessando o link a seguir.
https://qrgo.page.link/E7nme
Para escolher entre o uso de listas e tuplas, são seguidas algumas convenções 
definidas pela comunidade Python, explicitadas no Quadro 1.
Uso de tuplas Uso de listas
 � Chaves de sequência (chaves de 
sequência de dicionário).
 � Funções que requerem que os 
argumentos sejam passados nas 
tuplas.
 � Dados distintos — não precisam 
ser todos iguais.
 � Listas de objetivos mutáveis devem 
ser evitadas, para não ocorrer 
erros ao se tentar alterar objetos 
mutáveis.
Quadro 1. Diferenças entre o uso de tuplas e o uso de listas
Caso você tenha que acessar um banco de dados, os campos de um registro podem 
ser retornados como uma tupla, mas os próprios registros devem ser retornados como 
uma lista. Desse modo, o resultado da consulta retornada de um banco de dados será 
uma lista de tuplas.
Operações e métodos de lista (Python)6
Operações e métodos em Python
Operações em listas
Listas são variáveis como quaisquer outras em Python, sendo, portanto, sujeitas 
aos mesmos operadores empregados com as demais variáveis. Mas, pela sua 
natureza diferente (a lista é uma variável que armazena diversos valores), 
esses operadores podem ter efeitos diferentes. A seguir, serão apresentados 
os operadores e como eles atuam nas listas.
Operador + 
Esse operador tem o papel de concatenar listas – ou seja, realiza a operação 
de unir o conteúdo de duas listas (Figura 7).
Figura 7. Exemplo do operador +.
Operador * 
De maneira parecida com uma multiplicação, o operador * repete uma lista 
um determinado número de vezes, como na Figura 8.
Figura 8. Exemplo do operador *.
Nesse exemplo, a lista [0] é repetida quatro vezes; já a lista [1, 2, 3] 
é repetida três vezes.
7Operações e métodos de lista (Python)
Fragmentando listas
Fragmentar uma lista significa retirar uma fatia de uma lista ou tupla, ou seja, 
realizar a extração de um número de elementos de dentro da lista ou tupla. 
O operador slice (:) pode ser observado na Figura 9.
Figura 9. Exemplo do slice.
Na Figura 9, temos três exemplos da utilização do slice.
 � Em lista[1:3], estamos informando que a fatia (slice) deve ini-
ciar no segundo elemento da lista (listas iniciam no índice 0) e deve 
terminar no quarto elemento, mas sem incluí-lo. De acordo com o 
resultado da execução, esse comando resulta em uma lista com dois 
elementos, correspondentes ao segundo e ao terceiro elementos da 
listaoriginal.
 � Em lista[:4], como não especificamos o primeiro valor, iniciamos 
no primeiro elemento da lista e terminamos no quinto elemento, sem 
incluí-lo, resultando em uma lista com os quatro primeiros elementos 
da lista original.
 � Por último, em lista[3:], o slice é executado a partir do quarto 
elemento; como o segundo parâmetro não foi especificado, vamos até 
o final da lista original.
Operações e métodos de lista (Python)8
Métodos em listas
A linguagem de programação Python fornece métodos para operar em listas. 
Um método é como uma função, exceto a parte que “pertence” a um objeto 
específico; quando a função é chamada, ela é qualificada com o nome do 
objeto. Os métodos, além de se parecerem com uma função, auxiliam na 
escrita dos códigos, facilitando o desenvolvimento de determinadas ações 
em um código – por exemplo: colocá-lo em ordem crescente ou decrescente, 
inserir um número ao final de uma lista, alterar um lugar, etc.
Quando se necessita chamar um método de lista, é necessário digitar o nome 
da lista, um ponto, o nome do método e parênteses. Os parênteses indicam os 
argumentos necessários ao método, sendo que alguns métodos não exigem 
ou utilizam argumentos. Observe o exemplo a seguir:
list_name.method_name(arguments)
Existem alguns métodos de listas que são mais populares e costumam 
ser utilizados com maior frequência. Dentre eles, destacam-se os seguintes, 
conforme apontam Maruch e Maruch (2006):
 � Método append(x): esse método possibilita adicionar um item ao 
fim de uma lista, alterando a lista. Por exemplo: adicionar a string 
'maçã' à lista 'cesta'.
>>> cesta = ['limão', 'banana', 'laranja']
>>> cesta.append('maçã')
>>> print(cesta)
['limão','banana','laranja','maçã']
 � Método count(value): esse método permite verificar o número 
de vezes que um valor ocorre em uma lista; por exemplo, é possível 
verificar quantas vezes a string 'maçã' aparece.
>>> cesta = ['limão', 'banana', 'laranja', 'maçã']
>>> cesta.count('maçã')
1
9Operações e métodos de lista (Python)
 � Método extend(x): esse método possibilita adicionar a uma lista o 
conteúdo de outro objeto de sequência ou iterável (objeto cujos elementos 
podem ser recuperados um por vez). Caso o iterável seja uma string, 
cada caractere é adicionado individualmente. Neste exemplo, cada 
caractere da string 'pera' é adicionado individualmente:
>>> x = ['maçã', 'limão', 'banana', 'laranja']
>>> x.extend('pera')
>>> x
['maçã', 'limão', 'banana', 'laranja', 'p', 'e', 'r', 'a']
 � Método remove(x): esse método permite excluir a primeira ocorrência 
de cada item em uma lista. Caso o item não seja encontrado, é gerado 
um ValueError. Observe o exemplo abaixo com a string 'maçã':
>>> x = ['maçã', 'limão', 'banana', 'laranja']
>>> x.remove('limão')
>>> x
['maçã', 'banana', 'laranja']
 � Métodos sort( ) e reverse( ): são utilizados para alterar a 
própria lista. O método sort( ) propõe uma ordenação padrão em 
ordem alfabética para listas que contenham texto, números, entre outros 
elementos. Já o método reverse( ) inverte as posições dos itens 
de uma lista. 
>>> x = ['maçã', 'limão', 'banana', 'laranja']
>>> x.sort()
>>> x
['banana', 'laranja', 'limão', 'maçã']
>>> x.reverse()
>>> x
['maçã', 'limão', 'laranja', 'banana']
Operações e métodos de lista (Python)10
As listas são mutáveis; sendo assim, é importante fazer uma cópia antes de iniciar 
operações que dobrem e fragmentem listas. O operador de fragmentação, quando 
estiver do lado esquerdo de uma operação de atribuição, é capaz de atualizar diversos 
elementos de uma lista ao mesmo tempo.
Uso das listas e de seus métodos em 
problemas computacionais
As listas podem ser utilizadas em diferentes aplicações de problemas com-
putacionais, a partir de suas diversas operações, como as listadas a seguir.
 � Contar o número de vezes que um determinado elemento aparece dentro 
de uma lista.
 � Contar elementos.
 � Inserir um elemento ao fim da lista.
 � Inserir um elemento em uma determinada posição.
 � Concatenar listas (uma ou duas).
 � Excluir um elemento que está em uma determinada posição, ou que 
tenha um determinado valor.
 � Buscar a posição de um elemento dentro de uma lista, bem como ordená-
-la ou buscar saber se um elemento está ou não dentro da lista.
A seguir, serão abordadas algumas listas e seus métodos em problemas 
computacionais com o uso do ambiente de programação e da linguagem 
Python, trazendo exemplos de códigos e suas explicações.
Observe a primeira aplicação na Figura 10. Será possível fazer com que o 
código apresentado conte o número de vezes que o algarismo 7 aparece na lista?
11Operações e métodos de lista (Python)
Figura 10. Exemplo de contagem utilizando uma lista.
A aplicação apresentada exemplifica o uso de uma lista para que o numeral 7 
possa ser contabilizado. Ao executar o código, o resultado exibido é o número 
de vezes que o número 7 aparece, conforme pode ser visualizado na saída 
do programa. A instrução len( ) é responsável pela leitura da quantidade 
de caracteres em um string; posteriormente, o comando condicional if é 
inserido para verificar se o número em questão é o numeral 7, e cada número 
da lista é avaliado.
Outra alternativa para a contagem de elementos é o método count( ), 
conforme apresentado no início deste capítulo. Veja a aplicação apresentada 
na Figura 11.
Figura 11. Exemplo do método count( ).
O código usa o método count( ) para a contagem de elementos, junta-
mente com um ponto e o nome da lista (lista.count(7)). Posteriormente, 
o número de ocorrências do número 7 é impresso na saída de execução do 
programa. 
Operações e métodos de lista (Python)12
O exemplo a seguir utiliza o método append( ) para adicionar um 
determinado elemento ao final da lista. Observe a Figura 12, que exemplifica 
o método.
Figura 12. Exemplo do método append( ).
List comprehension
Até o momento, aprendemos sobre os métodos disponíveis nas listas e sobre 
como os operadores +, * e slice atuam em listas. Em todos os nossos exem-
plos, nossas listas foram criadas declarativamente, elemento a elemento: 
lista = ['1','2','3','4']. Agora, vamos aprender como criar 
listas baseadas em outras listas e/ou objetos iteráveis, com a possibilidade de 
aplicar filtros de maneira mais eficiente. Em Python, isso é chamado de list 
comprehension.
O exemplo da Figura 13 utiliza a list comprehension para filtrar uma lista, 
gerando uma nova lista.
Figura 13. Exemplo de lista com filtro.
13Operações e métodos de lista (Python)
Na Figura 13, pode ser observada uma lista com notas variadas; na linha 
seguinte do código, utiliza-se a list comprehension para filtrar as notas iguais 
a zero. Ao executar o código, as notas válidas são apresentadas — ou seja, 
aquelas que são maiores do que zero. 
E se você quisesse organizar esses números em ordem decrescente ou 
crescente, como deveria proceder com o código dessa lista? O código ilustrado 
na Figura 14 foi elaborado a partir dos seguintes itens:
 � notas — todas as notas;
 � notas_validas — a partir do filtro, ficou determinado que somente 
seriam válidas notas maiores do que zero;
 � notas_org — a função sorted foi chamada com o intuito de que as 
notas válidas fossem organizadas em ordem crescente.
Figura 14. Exemplo de lista com filtro e organização em ordem crescente.
Além da função sorted( ) para a organização da lista em ordem cres-
cente, outros métodos poderiam ser utilizados, por exemplo, para determinar: 
o número de notas, o número de notas abaixo da média, o número de notas 
acima da média, ou mesmo o número de notas máximas. Se as funções citadas 
fossem utilizadas em uma lista de notas por um professor, elas poderiam di-
minuir o trabalho manual, bem como agilizar o controle das notas dos alunos.
Operações e métodos de lista (Python)14
Conforme pode ser observado, as listas podem ser utilizadas em diferentes 
situações do cotidiano, para facilitar atividades do dia a dia. Com a linguagem 
de programação no ambientePython, é possível organizar atividades que, 
manualmente, seriam mais demoradas de fazer. Assim, com apenas um ou 
dois comandos, é possível economizar tempo e desenvolver os trabalhos com 
maior precisão.
Operações com listas
Ao trabalhar com notas de avaliações, por exemplo, é possível que a média dos alunos 
seja calculada por meio de códigos com a linguagem Python. Pense na seguinte 
situação: um professor faz cinco trabalhos durante o semestre, cada um valendo 
10 pontos. Para obter a nota final dos alunos, ele pode digitar as notas obtidas ao 
término dos cinco trabalhos e dividir por 5. Observe o exemplo no código a seguir.
BARRY, P. Use a cabeça!: Python. Rio de Janeiro: Alta Books, 2012. 492 p. (Série Use a 
Cabeça).
CUDUCOS, E. Tuplas e Listas no Python. Eduardo Cuducos, São Paulo, 13 jun. 2018. Dis-
ponível em: https://cuducos.me/2018/06/13/tuplas-e-listas-no-python.html. Acesso 
em: 27 jul. 2019.
MARUCH, S.; MARUCH A. Python for dummies. New York: Wiley, 2006. 432 p.
15Operações e métodos de lista (Python)
Leituras recomendadas
BRAGANHOLO, V. Manipulação de listas. Niterói: Instituto de Computação, Universidade 
Federal Fluminense, 2016. 67 p. (Notas de aula). Disponível em: http://www2.ic.uff.
br/~vanessa/material/prog-python/08-Listas.pdf. Acesso em: 27 jul. 2019.
GRUPO PROGRAMA DE EDUCAÇÃO TUTORIAL. Introdução a programação com Python. 
São Carlos: IFSP, 2016. 28 p. Disponível em: http://ifspsaocarlos.edu.br/portal/arqui-
vos/2016.05.04_Apostila_Python_-_PET_ADS_São_Carlos.pdf. Acesso em: 27 jul. 2019.
ORESTES, Y. Operações básicas com listas no Python. Alura – Cursos Online de Tecnologia, 
São Paulo, 10 maio 2018. Disponível em: https://blog.alura.com.br/operacoes-basicas-
-com-listas-no-python/. Acesso em: 27 jul. 2019.
SPAK, F. Como trabalhar com listas em Python. DevMedia, Rio de Janeiro, 2016. Disponí-
vel em: https://www.devmedia.com.br/como-trabalhar-com-listas-em-python/37460. 
Acesso em: 27 jul. 2019.
Operações e métodos de lista (Python)16

Continue navegando