Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

PENSAMENTO 
COMPUTACIONAL
Fernando Esquírio Torres
Identificação interna do documento
Criação, acesso e 
operadores de listas 
(Python)
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
 � Definir listas em Python, a sua criação e o seu acesso.
 � Discutir os operadores de listas em Python.
 � Utilizar listas em problemas computacionais.
Introdução
As listas são estruturas de dados simples, bastante utilizadas para armaze-
nar conteúdos variados e, assim, evitar criar uma quantidade numerosa de 
variáveis no seu programa. Essa é, portanto, a maior vantagem de utilizar 
listas em seu código, pois é possível trabalhar com mais variáveis utili-
zando um único nome. As listas também são conhecidas como vetores. 
Porém, em Python, o conceito de listas vai muito além de um conjunto 
de dados listados sequencialmente na memória — elas agregam diversas 
funcionalidades e métodos.
A linguagem Python oferece diferentes maneiras de manipular listas, 
que proporcionam flexibilidade e versatilidade para trabalhar com esse 
tipo de estrutura sequencial. As listas podem armazenar itens de mesmo 
tipo ou de diferentes tipos de dados. Desse modo, é importante que o 
programador aprenda a trabalhar com essa estrutura sequencial de dados.
Neste capítulo, você vai verificar como definir listas em Python, como 
criá-las e como acessá-las. Em seguida, você vai identificar os operadores 
de listas na linguagem Python e, por fim, vai analisar aplicações que 
utilizam listas para resolver problemas computacionais.
Identificação interna do documento
Listas em Python: definição, criação e acesso
Segundo Ramalho (2015), as listas podem ser compreendidas como um con-
junto de dados, números e/ou símbolos que são estruturados em uma dimensão. 
A linguagem Python classifica as listas conforme os tipos de dados sequenciais; 
uma lista pode armazenar itens do mesmo tipo ou de diferentes tipos de dados 
(numéricos, caracteres, strings, etc.).
Segundo Banin (2018), uma lista pode ser considerada como uma estrutura que ar-
mazena seus dados sequencialmente na memória e permite o acesso individual ou 
em grupo aos seus elementos. 
Segundo Barry (2018), a lista tem seus elementos organizados em uma 
linha e n colunas, formando, assim, um vetor 1 × n. Os elementos de uma lista 
são indicados por aj, em que j é o índice que representa a coluna do elemento 
dentro da lista (Figura 1). O índice j vai de 0 (zero) até n − 1. Desse modo, o 
primeiro elemento da lista, a0, está na coluna 0 (zero), e o último elemento da 
lista, an–1, está na coluna n – 1. Essa informação será importante quando for 
necessário percorrer ou modificar os elementos dentro de uma lista.
Figura 1. Elementos de uma lista 1 × n.
n – 1
Criação, acesso e operadores de listas (Python)2
Identificação interna do documento
Criação de listas em Python
Segundo Ramalho (2015), a criação de listas é realizada com os itens se-
quenciais organizados entre colchetes [ ] e separados por vírgulas, conforme 
o exemplo a seguir, que cria uma lista com cinco valores numéricos inteiros.
a = [0, 1, 2, 3, 4]
Porém, as listas também podem armazenar itens heterogêneos, abrangendo 
diferentes tipos de dados. O exemplo a seguir mostra como é possível criar 
uma lista para armazenar itens variados, como o nome de uma pessoa, que 
é uma sequência de caracteres, a idade, que é um valor numérico inteiro, o 
saldo bancário, que é um valor numérico real, e o status atual da pessoa, que 
é um valor booleano.
lista = ['Jorel', 22, 215.24, True]
Acesso às listas em Python
Segundo Ramalho (2015), as listas armazenam seus dados organizados se-
quencialmente e permitem o acesso individual a cada um de seus elementos, 
ou o acesso a um grupo de elementos. Nas listas, é possível percorrer todos 
os elementos de forma implícita; sendo assim, elas podem ser utilizadas como 
estruturas iteráveis. Como visto anteriormente, a localização dos elementos 
(aj) em uma lista é indicada pelo índice j (coluna), que indica a posição do 
elemento na lista, iniciando a contagem sempre pelo valor 0 (zero). Então, o 
primeiro elemento está na posição coluna 0 (zero), o segundo elemento está 
na posição coluna 1 (um), e assim por diante.
O acesso individual a um elemento específico de uma lista é realizado 
pelo nome dado à lista na sua criação e o índice, que especifica a coluna entre 
colchetes, como mostrado na declaração a seguir. Esse comando faz a leitura 
de um dado da lista localizado na posição [j], que indica a coluna da lista.
lista[j]
3Criação, acesso e operadores de listas (Python)
Identificação interna do documento
Caso você queira modificar o valor de um elemento específico da lista, 
basta utilizar o operador de atribuição com o novo valor a ser armazenado, 
como mostrado no comando abaixo. Na declaração mostrada, o valor 35 é 
armazenado no elemento da posição coluna 1 da lista.
lista[1] = 35
Observe o exemplo mostrado na Figura 2, que possui um código para fazer a leitura 
e a alteração individual de elementos de uma lista.
(a) (b)
Figura 2. (a) Código de leitura e alteração de um elemento em uma lista. (b) Resultado da 
execução do código.
O código mostrado na Figura 2a mostra a criação da lista (linha 1) com o nome 
minha _ lista. Essa lista contém itens de diferentes tipos de dados. O comando 
print da linha 4 imprime a lista original. O resultado da execução desse comando 
é mostrado na primeira linha da Figura 2b. As linhas 7 e 9 do código da Figura 2a 
contêm os comandos minha _ lista[0] e minha _ lista[1], que servem para 
ler um elemento em uma posição específica na lista. O resultado da execução desses 
comandos é mostrado na segunda e na terceira linhas da Figura 2b. Os comandos 
das linhas 12 e 13 modificam o conteúdo de um elemento especificado pelo índice j 
(coluna) entre colchetes. O resultado da execução desses comandos é mostrado nas 
duas últimas linhas da Figura 2b.
Segundo Slatkin (2015), além de acessar individualmente os elementos de 
uma lista, é possível acessar um grupo de elementos dela. O acesso a um grupo 
de elementos de uma lista é feito determinando-se o intervalo de elementos 
desejado, utilizando uma das seguintes formas:
Criação, acesso e operadores de listas (Python)4
Identificação interna do documento
 � Utilizando o sinal de “:” entre os colchetes, indicando o acesso a todos os 
elementos de uma lista por meio do comando nome _ da _ lista[:].
 � Indicando um intervalo de colunas da lista por meio do comando 
nome _ da _ lista[col
inicial
:col
final
]. Esse comando retornará 
os elementos a partir da col
inicial
 até a col
final
 – 1.
De acordo com Downey (2016), caso você queira modificar um ou mais 
elementos de uma lista, basta indicar o intervalo a ser alterado e utilizar o 
operador de atribuição com o conjunto de valores a ser armazenado.
Observe o exemplo mostrado na Figura 3, que possui um código para fazer a leitura 
e a alteração de um grupo de elementos de uma lista.
(a)
(b)
Figura 3. (a) Código de leitura e alteração de um grupo de elementos em uma lista. (b) 
Resultado da execução do código.
Conforme explica Ramalho (2015), a linha 5 do código da Figura 3a contém o comando 
numeros[:], que serve para acessar todos os elementos de uma lista. Observe na 
Figura 3b o resultado da execução desse comando. O comando da linha 8, nume-
ros[1:3], acessa os elementos das posições 1 e 2 da lista, que são especificadas 
pelo intervalo 1:3 entre colchetes. O resultado da execução desses comandos é 
mostrado na segunda linha da Figura 3b. A linha 11 da Figura 3a contém o comando 
numeros[5:8] = ['A', 'B', 'C'], que modifica os elementos nas posições 5, 
6 e 7 da lista. O resultado da execução desse comando pode ser observado na terceira 
linha impressa da Figura 3b — repare que são substituídos apenas os elementos a partir 
da posição 5 da lista. O resultado da execução desse comando pode ser visualizado 
na última linha impressa da Figura 3b.
5Criação, acesso eoperadores de listas (Python)
Identificação interna do documento
De acordo com Banin (2018), se você tentar acessar uma posição da lista 
que não contenha elementos, ocorrerá um erro de execução, devido à tentativa 
de acessar um índice fora da faixa da lista. 
Percorrer elementos de uma lista em Python
Acessar um elemento de uma lista é bem simples, conforme foi mostrado 
na seção anterior. Os exemplos citados anteriormente funcionam de forma 
satisfatória para acessar poucos elementos; mas, e se for necessário acessar 
todos os elementos de uma lista? Imagine uma lista com 100 elementos — não 
seria prático fazer 100 linhas de comando com cada acesso individual. Então, 
é preciso pensar em uma solução melhor. Mas qual seria essa solução?
De acordo com Perkovic (2016), em Python, é possível percorrer cada 
elemento de uma lista por meio de um laço de repetição (for ou while), 
seja para preencher a lista ou para acessar e imprimir os elementos dela.
O exemplo da Figura 4 mostra um código para preencher uma lista 1 x 5 com valores 
numéricos, utilizando o laço de repetição for, e, depois, acessar e imprimir esses 
dados formatados em uma tabela, também utilizando um laço de repetição for.
(a)
(b) (c)
Figura 4. (a) Código para percorrer elementos de uma lista e (b) entrada de dados do 
programa. (c) Resultado da execução do código.
Criação, acesso e operadores de listas (Python)6
Identificação interna do documento
Para um melhor entendimento do código da Figura 4a, ele será explicado por partes. 
Na primeira parte, temos a criação da lista com valores nulos; o comando da linha 2 
cria uma lista com cinco valores numéricos nulos. Nesse caso, a dimensão da lista foi 
preestabelecida (cinco colunas). Porém, segundo Banin (2018), existe uma maneira mais 
eficiente para popular listas com valores nulos, utilizando o método append (), 
que não será tratado neste capítulo. Aqui, é empregada uma estratégia para popular 
matrizes com valores nulos com base no conteúdo do presente capítulo.
Na segunda parte do código, ocorre o preenchimento da lista, e o laço de repetição 
for na linha 6 permite acessar cada elemento dela. O comando for da linha 6 altera 
a variável col entre os valores 0 e len(minha _ lista) – 1. Assim, é possível 
percorrer todos os elementos da lista. Segundo Matthes (2016), o método len() 
retorna o tamanho de uma lista; por exemplo, o comando len(minha _ lista) 
retorna o tamanho da lista, ou seja, o número de elementos da lista, conforme pode 
ser observado no código da Figura 4a. Desse modo, a variável col percorre os índices 
0, 1, 2, 3, 4 e 5, acessando os elementos nas posições minha _ lista[0], mi-
nha _ lista[1], minha _ lista[2], minha _ lista[3], minha _ lista[4] 
e minha _ lista[5]. O comando da linha 7 da Figura 4a, dentro do laço for, solicita 
ao usuário que digite o número que será armazenado em cada elemento da lista. O 
resultado da execução dessa parte do código é mostrado na Figura 4b.
Por fim, na terceira parte, “imprimindo a lista”, o laço for na linha 13 faz a varredura 
dos elementos da lista, de forma semelhante ao explicado na parte anterior. O que 
difere são os comandos para imprimir os valores da lista formatados em uma tabela, 
como mostrado na Figura 4c.
Clonando uma lista em Python
Segundo Ramalho (2015), o programador de Python deve tomar cuidado 
ao copiar os elementos de uma lista para outra. Assim como ocorre com as 
variáveis, no momento em que uma lista é declarada, ela faz referência a um 
objeto. Então, o sinal de atribuição “=” faz com que as duas listas referenciem 
ao mesmo objeto, ou seja, ao mesmo endereço de memória. Sendo assim, 
utilizar o sinal de atribuição “=” para copiar o conteúdo de uma lista para 
outra pode não surtir o resultado esperado. A Figura 5 mostra como funciona 
o sinal de atribuição para “copiar” o conteúdo de listas.
7Criação, acesso e operadores de listas (Python)
Identificação interna do documento
Figura 5. (a) Código que utiliza o sinal de atribuição “=” com 
uma lista. (b) Resultado da execução do código.
(a)
(b)
O código da Figura 5a contém a criação da lista original na linha 2, com 
três elementos, por meio do comando minha _ lista = ['A', 'B','C']. 
A linha 4 apresenta o comando outra _ lista = minha _ lista, 
que utiliza o sinal de atribuição “=”; isso faz com que a segunda lista (ou-
tra _ lista) referencie o mesmo endereço de memória da lista original. 
Sendo assim, o comando da linha 6, minha _ lista[0] = 1, modifica o 
elemento da posição 0 da lista original. Porém, ao executar os comandos das 
linhas 7 e 8, observa-se que as duas listas tiveram o seu conteúdo modificado. 
O resultado é mostrado nas duas primeiras linhas da Figura 5b.
Seguindo o código, o comando da linha 11, outra _ lista[2] = 5, 
modifica o elemento da posição 2 da segunda lista. Mas, ao executar os coman-
dos das linhas 12 e 13, observa-se que as duas listas tiveram o seu conteúdo 
modificado. O resultado é mostrado nas duas últimas linhas da Figura 5b. Nos 
dois casos, o conteúdo das duas listas é modificado, pois, como já foi dito, 
o sinal de atribuição “=” faz com que as duas listas apontem para o mesmo 
objeto. Portanto, ao modificar um elemento de qualquer uma das listas, ambas 
terão seu conteúdo alterado.
Para evitar alterações indesejadas no conteúdo de uma lista, é necessário 
cloná-la e, assim, criar um objeto, ou seja, uma nova referência na memória. 
Isso pode ser feito indicando-se o intervalo completo dos elementos da lista, 
ou por meio do método copy(). A Figura 6 mostra as duas maneiras de 
clonar uma lista.
Criação, acesso e operadores de listas (Python)8
Identificação interna do documento
Figura 6. (a) Código para clonar uma lista. (b) Resultado da execução do código.
(a)
(b)
O código da Figura 6a contém a criação da lista original na linha 2, com 
três elementos, por meio do comando minha _ lista = ['A', 'B','C']. 
A linha 4 possui o comando segunda _ lista = minha _ lista[:], 
que utiliza o sinal de atribuição “=”, mas indicando o grupo de elementos 
que será acessado. O sinal “:” dentro de colchetes indica todos os elementos 
da lista; isso faz com que a segunda lista vire uma cópia da primeira lista e 
referencie um novo objeto e, consequentemente, um novo endereço de memória 
da lista original.
Sendo assim, o comando da linha 6, minha _ lista[0] = 1, modifica 
apenas o elemento da posição 0 da lista original. Ao executar os comandos das 
linhas 7 e 8, observa-se que a lista original foi modificada, e a segunda lista, 
não. O resultado é mostrado nas duas primeiras linhas da Figura 6b. Seguindo 
o código, o comando da linha 11, segunda _ lista[2] = 5, modifica 
apenas o elemento da posição 2 da segunda lista. Ao executar os comandos 
das linhas 12 e 13, observa-se que apenas a segunda lista foi modificada, e a 
lista original, não. O resultado é mostrado na terceira e na quarta linhas da 
Figura 6b.
Na linha 16, o comando terceira _ lista = minha _ lista.
copy() utiliza o método copy(), que copia os elementos de uma lista em 
outra, criando um novo objeto na memória do computador. Sendo assim, o 
comando da linha 18, minha _ lista[0] = 1, modifica apenas o ele-
mento da posição 0 da lista original. Ao executar os comandos das linhas 19 
e 20, observa-se que a lista original foi modificada, e a terceira lista, não. O 
9Criação, acesso e operadores de listas (Python)
Identificação interna do documento
resultado é mostrado na Figura 6b. Seguindo o código, o comando da linha 
23, terceira _ lista[2] = 5, modifica apenas o elemento da posição
2 da terceira lista. Ao executar os comandos das linhas 24 e 25, observa-se 
que apenas a terceira lista foi modificada, e a lista original, não. O resultado 
é mostrado na Figura 6b.
Operadores de matrizes em Python
A linguagem Python permite não somente acessar individualmente um ele-
mento de uma lista para ler ou alterar o seu conteúdo como também utilizar 
operadores para manipular as listas. Nesta seção, você verá como funcionamo operador aditivo “+”, o operador multiplicativo “*” e o operador de busca
“in”. Você também vai verificar como utilizar o método len().
Operador aditivo “+” com listas
Segundo Matthes (2016), o operador de adição “+” é utilizado para concatenar 
listas, ou seja, esse operador vai unir o conteúdo de uma lista a outra. Deve-
-se ter muito cuidado ao utilizar esse operador, pois, em Python, quando os
operandos envolvidos na soma forem elementos de uma lista, o resultado é a
concatenação dos mesmos, e não a operação matemática de soma dos elementos
da lista, mesmo que esses elementos sejam do tipo numérico.
O exemplo da Figura 7 mostra um código que utiliza o operador aditivo com listas.
(a)
(b)
Figura 7. (a) Operador aditivo com listas. (b) Resultado da execução do código.
Criação, acesso e operadores de listas (Python)10
Identificação interna do documento
O código da Figura 6a mostra na linha 2 a criação e o preenchimento de uma lista 
com três elementos numérico inteiros. Na linha 3 da Figura 6a, o operador aditivo ”+” no 
comando uma _ lista + uma _ lista concatenou as duas listas uma _ lista, 
resultando em uma lista com seis elementos; observe a nova lista impressa na linha [1] 
da Figura 6b. Na linha 4 da Figura 6a, o operador aditivo “+” no comando uma _ lista 
+ [4,5] uniu os elementos listados entre colchetes na lista original uma _ lista, 
resultando em uma lista com cinco elementos; observe a nova lista impressa na linha 
[2] da Figura 6b.
Observe que o mesmo acontece com listas que possuem outros tipos de dados. Por 
exemplo, continuando no código da Figura 6a, na linha 7, a lista outra _ lista é 
criada e preenchida com cinco valores literais (caracteres). Na linha 8 da Figura 6a, o 
operador aditivo “+” no comando outra _ lista + outra _ lista concate-
nou as duas listas, resultando em uma lista com oito elementos; observe a nova lista 
impressa na linha [3] da Figura 6b. Na linha 9 da Figura 6a, o operador aditivo “+” no 
comando outra _ lista + ['E', 'F'] uniu os elementos entre colchetes na 
lista outra _ lista, resultando em uma lista com seis elementos; observe a nova 
lista impressa na linha [4] da Figura 6b.
Operador multiplicativo “*” com matrizes
Segundo Matthes (2016), o operador multiplicativo “*” é utilizado para 
multiplicar x vezes a quantidade de elementos de uma lista; ou seja, esse 
operador produz uma nova lista com repetições da lista original. Deve-se ter 
muito cuidado ao utilizar esse operador, pois, em Python, quando os operandos 
envolvidos na multiplicação forem elementos de uma lista, o resultado é a 
multiplicação da quantidade de elementos da lista, e não a operação matemática 
de multiplicação dos elementos dela.
11Criação, acesso e operadores de listas (Python)
Identificação interna do documento
O exemplo da Figura 8 mostra um código que utiliza o operador multiplicativo com 
listas.
(a)
(b)
Figura 8. (a) Operador multiplicativo com matrizes. (b) Resultado da execução do código.
O código da Figura 8a mostra na linha 2 a criação e o preenchimento de uma lista 
com quatro valores inteiros. Na linha 3 da Figura 8a, o operador multiplicativo “*” no 
comando num * 3 triplica a quantidade de elementos da lista, repetindo eles por 
três vezes; observe a impressão da nova lista na linha [1] da Figura 8b. Na linha 4 da 
Figura 8a, o operador multiplicativo “*” no comando teste = [0] * 10 cria uma 
lista teste com 10 elementos com o valor zero; observe a impressão dessa lista na 
linha [2] da Figura 8b. Na linha 5 da Figura 8a, o operador multiplicativo “*” no comando 
teste _ 2 = [2,3] * 2 cria uma matriz teste _ 2 com quatro elementos, pois 
a multiplicação da lista [2,3] por 2 duplica o tamanho da lista; observe a impressão da 
nova lista na linha [3] da Figura 8b.
Operador de busca “in” com listas
Segundo Slatkin (2015), o operador de busca “in” é utilizado para verificar 
se um determinado conteúdo pertence a uma lista. Esse operador retorna True, 
caso o valor procurado pertença à lista, e False, caso não pertença.
Criação, acesso e operadores de listas (Python)12
Identificação interna do documento
O exemplo da Figura 9 mostra um código que utiliza o operador de busca “in” com 
listas.
(a)
(b)
Figura 9. (a) Operador “in” com listas. (b) Resultado da execução do código.
O código da Figura 9a mostra, na linha 2, a criação e o preenchimento de uma lista 
com nove valores inteiros. Na linha 4 da Figura 9a, o comando 1 in lin verifica 
se o valor 1 pertence a essa lista. Na linha 6 da Figura 9a, o comando 8 in lin 
verifica se o valor 8 pertence a essa lista. Na linha 8 da Figura 9a, o comando 10 in 
lin verifica se o valor 10 pertence a essa lista. Observe no resultado da execução 
do código, mostrado na Figura 9b, que os valores 1 e 8 pertencem à lista, enquanto 
o valor 10 não pertence.
Método len()
Segundo Banin (2018), em Python, o método len() retorna o comprimento 
de uma lista, ou seja, a quantidade de elementos existentes nessa lista. Esse 
método é muito útil para compreenderemos o funcionando dos operadores 
aditivos e multiplicativos em Python.
13Criação, acesso e operadores de listas (Python)
Identificação interna do documento
O exemplo da Figura 10 mostra um código que utiliza o método len() para mostrar 
a quantidade de elementos de diversas listas.
(a)
(b)
Figura 10. (a) Método len() utilizado com listas. (b) Resultado da execução do código.
O código da Figura 10a contém, na linha 2, a criação da primeira lista, lista _ 1, 
construída com quatro elementos com tipos de dados diferentes. Na linha 5 da Figura 9a, 
o comando len (teste) retorna a quantidade de elementos que a primeira lista 
possui — nesse exemplo, são quatro elementos. O resultado da execução desse 
comando pode ser observado na primeira linha impressa da Figura 9b.
A linha 7 traz a criação da segunda lista, lista _ 2. Observe que o comando 
len (lista _ 2) da linha 9 retorna que a segunda lista tem quatro elementos 
também — veja a segunda linha impressa da Figura 10b. Isso acontece porque o 
Python entende que a lista [‘A’, ‘B’] é um elemento da lista e, assim, indica que a lista 
tem quatro elementos.
Seguindo o código da Figura 10a, verifica-se a criação da terceira lista, lista _ 3, 
na linha 12. O comando len (lista _ 3) da linha 14 retorna que a terceira lista 
tem quatro elementos, conforme mostra a terceira linha impressa da Figura 10b. Isso 
porque as listas dentro de uma lista são contadas como elementos (colunas) da lista. 
Uso de matrizes em problemas computacionais
As listas são utilizadas em diversos problemas computacionais, como em 
programas para realizar cálculos matemáticos entre listas com valores numé-
ricos, em programas para criar gráficos para visualizar dados e em programas 
para gerar relatórios com dados de vendas de um estabelecimento comercial. 
Criação, acesso e operadores de listas (Python)14
Identificação interna do documento
Desse modo, o armazenamento de dados em listas é bastante comum em 
programação, pois seu uso facilita e dinamiza um programa que necessita de 
grandes quantidades de variáveis. Afinal, é mais simples acessar os dados a 
partir de uma variável com nome único, apenas referenciando a posição por 
meio dos índices da lista.
Biblioteca numpy
Segundo Ramalho (2015), a biblioteca numpy é um pacote de ferramentas 
utilizado para executar cálculos matemáticos com arrays multidimensionais 
(listas e matrizes) em Python. Ela contém funções e métodos que auxiliam os 
programadores a realizar operações numéricas com listas e vetores, necessá-
rias em diversas áreas, como no posicionamento espacial de manipuladores 
robóticos, em modelos machine learning, no processamento de imagem em 
computação gráfica, entre outras aplicações.
A Figura 11 mostra um código que utiliza a biblioteca numpy para criar 
e realizar operações matemáticas com listas em Python.
Figura 11. (a) Código com a biblioteca numpy para trabalhar com listas. (b) Resultado da 
execução do código.
(a)
(b)
15Criação,acesso e operadores de listas (Python)
Identificação interna do documento
Na Figura 11a, é possível observar, na linha 2, a importação da biblioteca 
numpy. Nas linhas 4 e 5, o método array() é utilizado para criar as listas 
com elementos listados entre colchetes. Seguindo o código, a linha 9 realiza 
a operação de soma entre os elementos das listas. A operação matemática da 
linha 9 soma o primeiro elemento da primeira lista com o primeiro elemento 
da segunda lista, o segundo elemento da primeira lista com o segundo ele-
mento da segunda lista, e assim por diante. A linha 10 realiza a operação de 
subtração dos elementos entre as listas. A operação matemática da linha 10 
subtrai o primeiro elemento da primeira lista com o primeiro elemento da 
segunda lista, o segundo elemento da primeira lista com o segundo elemento 
da segunda lista, e assim por diante. A linha 11 realiza a operação de mul-
tiplicação dos elementos entre as listas. A operação matemática da linha 11 
multiplica o primeiro elemento da primeira lista com o primeiro elemento da 
segunda lista, o segundo elemento da primeira lista com o segundo elemento 
da segunda lista, e assim por diante. Por fim, a linha 12 realiza a operação 
de divisão dos elementos entre as listas. A operação matemática da linha 12 
divide o primeiro elemento da primeira lista pelo primeiro elemento da segunda 
lista, o segundo elemento da primeira lista pelo segundo elemento da segunda 
lista, e assim por diante.
As operações de soma e multiplicação merecem uma atenção especial. 
Nesse caso, como as listas foram criadas com o método array() da biblioteca 
numpy, os sinais de adição “+” e de multiplicação “*” realizam as operações 
matemáticas de soma e multiplicação entre os elementos das listas.
Criando gráficos a partir de listas
Segundo Downey (2016), na linguagem de programação Python, as listas 
podem armazenar diversos dados, como o número de vendas mensal de uma 
loja de departamentos, a quantidade de acessos diários a um site na internet, 
o crescimento populacional em um país, o índice de criminalidade de uma 
região da cidade, entre outros elementos. Então, as listas podem ser utilizadas 
para gerar gráficos, que são utilizados frequentemente para exibir visualmente 
os dados brutos ou os valores numéricos armazenados nas listas e, assim, 
facilitar a interpretação dessas informações.
Em Python, a biblioteca matplotlib permite trabalhar com as informa-
ções registradas em listas e transformá-las em gráficos. A Figura 12 mostra 
um código que cria um gráfico a partir de dados armazenados em duas listas.
Criação, acesso e operadores de listas (Python)16
Identificação interna do documento
Figura 12. (a) Código com a biblioteca matplotlib para trabalhar com listas. (b) Resultado 
da execução do código.
(b)(a)
Na Figura 12a, é possível observar na linha 2 a importação da biblioteca 
matplotlib. Nas linhas 4 e 5, tem-se a criação das listas, que representarão 
os eixos x (horizontal) e y (vertical) do gráfico. Na linha 7, o comando plt.
plot() cria o gráfico e o armazena na memória do computador. Nas linhas 
9, 10 e 11, os elementos textuais (título, rótulo do eixo horizontal e rótulo do 
eixo vertical) do gráfico são inseridos no mesmo. Na linha 13, o comando 
plt.grid() mostra as linhas de grade do gráfico. Por fim, o comando plt.
show() da linha 15 mostra o gráfico na tela do computador. O resultado da 
execução do código é mostrado na Figura 12b.
BANIN, S. L. Python 3: conceitos e aplicações: uma abordagem didática. São Paulo: 
Érica, 2018, 264 p.
BARRY, P. Use a cabeça! Python. 2. ed. Rio de Janeiro: Alta Books, 2018. 616 p. (Série Use 
a Cabeça/Head First).
DOWNEY, A. B. Pense em Python: pense como um cientista da computação. São Paulo: 
Novatec, 2016. 312 p.
MATTHES, E. Curso intensivo de Python: uma introdução prática e baseada em projetos 
à programação. São Paulo: Novatec, 2016. 656 p.
PERKOVIC, L. Introdução à computação usando Python: um foco no desenvolvimento 
de aplicações. Rio de Janeiro: LTC, 2016. 516 p.
17Criação, acesso e operadores de listas (Python)
Identificação interna do documento
RAMALHO, L. Python fluente. São Paulo: Novatec, 2015. 800 p.
SLATKIN, B. Python eficaz: 59 maneiras de programar melhor em Python. São Paulo: 
Novatec, 2015. 296 p.
Leituras recomendadas
BANIN, S. L. Tipos de estruturados sequenciais em Python. In: BANIN, S. L. Python 3: 
conceitos e aplicações: uma abordagem didática. São Paulo: Érica, 2018. cap. 4.
BORGES, L. E. Python para desenvolvedores: aborda Python 3.3. São Paulo: Novatec, 2014. 
MATPLOTLIB: Python plotting. The Matplotlib development team, [S. l.], 2018. Disponível em: 
https://matplotlib.org/. Acesso em: 14 jun. 2019.
NUMPY: the fundamental package for scientific computing with Python. NumPy de-
velopers, [S. l.], 2019. Disponível em: https://www.numpy.org/. Acesso em: 14 jun. 2019.
RAMALHO, L. Dados sequenciais. In: RAMALHO, L. Python fluente. São Paulo: Novatec, 
2015. cap. 2.
Criação, acesso e operadores de listas (Python)18
Identificação interna do documento
Identificação interna do documento
Identificação interna do documento

Mais conteúdos dessa disciplina