capítulo 4 listas
TRANSCRIPT
Grupo de Estudos em Python
Integrantes: Luis, Dalton, Nathália, Caio,Eduardo, Simone, Fabrícia, Dercideo.
Data: 19/05/2017
Aula de Python – ListasCapítulo 04 – Automatizando Tarefas Maçantes com Python¹
O que são Listas?
“Uma lista é um valor que contém diversos valores em uma sequência
ordenada.” – p.113
Valor de Lista = Conjunto de Valores separados por vírgula. (Strings,
Inteiros, etc)
Os valores contidos em uma lista são chamados de Itens
Exp: spam = [‘gato’, ‘peixe’, ‘cachorro’, ‘osso’]
Listas – Obtenção de Valores
• Como fazer referência à um valor específico de uma lista? (P. 113 - 114)
• Uma lista tem Índices (identificadores) escondidos:
o Aspecto: spam [0, 1, 2, 3, 4, 5, n...]
• Para referenciar um valor você deve digitar o índice que indica sua
• posição na lista.
• Exp: spam[1] ou spam[5] ...
• Também é possível utilizar índices negativos, eles referenciam as
variáveis de trás para frente.
Obtendo Sub-Listas
• O ato de se pegar parte dos valores de uma lista é viabilizado pela
técnica chama Slice.
• Com ele é possível formar outra lista com parte dos valores de outra,
ou referenciar os valores de um lista até certo ponto.
• Exp: spam [0:4]; spam [:4]; spam[0:-1]
Obtendo o Tamanho de uma Lista
Para se obter o tamanho de uma lista, é necessário usar a função “len()”,
essa função retorna a quantidade de valores existem na lista.
Exp.: len(spam) : 4
Alterando os Valores de uma Lista
O processo de alteração de um valor de uma lista é semelhante ao
processo de atribuição de valor à uma variável, a diferença é que você
precisa apontar em qual índice está o valor a ser alterado.
Exp.: spam[3] = ‘zero_hora’; spam[5] = 2017
Concatenação e Repetição de Listas
A concatenação é o processo de junção de um ou mais objetos, no caso
listas, e pode ser feito através do operador “+”.
A repetição de listas cria/referencia uma lista quantas vezes for
necessário através do operador “*”.
Exp.: spam = spam + [‘Olá’, 234, ‘zero’]; spam = spam * 5
O trabalho com listas
O tipo de dado lista é importante porque você consegue ter em uma só
“variável”, vários valores, evitando assim repetições e o uso de várias
linhas de código, deixando–o confuso.
Se pensarmos em um programa em que o usuário precise digitar vários
nomes, teríamos que criar uma variável para cada nome, porém com as
listas, é possível armazenar todos os nomes em uma variável só.
Exp.: programa ‘allMyCats2.py’ pág119.
Imprimindo os Valores de uma Lista (com for)
Para retornar todos ou alguns valores de uma lista, é necessário utilizar o
Loop “for”. Como ele, a partir de uma variável auxiliar, será possível
percorrer cada índice de uma lista e apresentar seus valroes.
Exp.: for i in range(3):
print(i)
Como já sabemos referenciar o tamanho de uma lista automaticamente
com a função “len()”, podemos usar essa técnica no range do loop “for”.
Exp.: for i in range(len(nomeDaLista)):
print(nomeDaLista[i])
Verificando a Existência de um Valor
Para verificar a existência de um valor em uma lista, é possível utilizar os
operadores “in” e “not in”.
Estes operadores são interessantes para verificar se um valor já foi
atribuído à uma lista, ou se não.. Normalmente expressões condicionais
usam estes operadores.
Obs. Retornam valores booleanos: “True” ou “False”.
Exp.: if ‘Magda’ in spam:
print(‘Esse nome já existe’)
programa “myPets.py” (pág. 122)
Atribuição Múltipla
É possível atribuir os valores de uma lista à variáveis:
nome = lista[2]
Porém para facilitar, podem ser adicionados vários valores à várias
variáveis em uma só expressão:
lista[magda, 25, parmeirópis]
nome, idade, cidade = lista
Tabela de Atribuição Expandida
Instrução de Atribuição Expandida
Instrução de atribuição equivalente
spam = spam + 1 spam + = 1
spam = spam – 1 spam - = 1
spam = spam * 1 spam * = 1
spam = spam / 1 spam / = 1
Spam = spam % 1 spam % = 1
Os operadores de atribuição expandidos otimizam o processo de
produção do código, reduzindo repetições.
Métodos
“Um método é o mesmo que um valor, exceto pelo fato de ser chamado
“sobre um valor”.”- pág. 124
Método Função
Index() Identifica em qual um índice determinado valor está em uma lista. p. 125 - Exp.: spam.index(‘olá’)
Append() Adiciona valor ao final de uma lista. p.125/126 – Exp.: spam.append(‘hello’)
Insert() Adiciona um valor em qualquer índice da lista. p.126 – Exp.: spam.insert(2, ‘olá’)
Remove() Remove um valor de uma lista. P.126/127 – Exp.: spam.remove(‘olá’)
Sort()
Este método ordena uma lista:• Somente ordena “in place”.• Não ordena lista com strings e números.• Ordena cna ordem ASCII, maiúsculas primeiro que minúsculas.
Exp.: spam.sort(); spam.sort(reverse=True); spam.sort(key = srt.lower)
Strings e Tuplas
A diferença básica entre listas e outros semelhantes, é baseada na
característica de mutabilidade ou seja, se um tipo de dado é mutável ou
imutável:
• Mutável: Pode ter valores adicionados, removidos ou alterados.”
• Imutável: Não pode ser alterado de forma alguma.
As Strings são semelhantes às listas porque seus valores podem ser
selecionados, repartidos e manipulados através de índices.
O mesmo acontece com as tuplas, aqui a semelhança ainda é maior,
porém os valores são delimitados por parênteses.
Exp.: spam(23, ‘olá’, ‘zero’)