Buscar

Aula 09a - Estrutura de dados (Listas, Tuplas, Dicionarios e Strings)

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

Strings, Listas, Tuplas e Dicionários 
 
 
.... O poder do Python!! 
INE 5201 – Python 3 
Todos os três são sequências! 
 
• Podem ser indexados por algum valor ordinal posicional; 
• Todas as operações apresentadas aqui nesta seção podem ser aplicadas 
em todos os tipos de sequência. 
 
Strings 
s = “Hello World” 
s = ‘Hello World’ 
Listas 
lista = [ 1, 2, 3, ‘abc’] 
lista = [ ‘a’, ‘b’, ‘abc’, ‘bola’, ‘densidade’, ‘diâmetro’] 
lista = [ 50, 12, [1, 2, 3], 5] 
matriz = [[1,3,4] , [3,5,6] , [7,8,9]] 
Tuplas 
tupla = (23, ‘abc’, 4.56, (2,3), ‘def’) 
tupla = (1, 2, 3, ‘abc’, (1, 2, 3)) 
 
 
 
INE 5201 – Python 3 
“xy” ‘xy‘ ‘‘‘multi ’’’ 
[x, y] 
(x, y) 
Strings, Listas e Tuplas: 
Manipulando sequências: 
• Pelo índice a partir de 0 Ex: lista[0] 
• Índices podem ser positivos ou negativos! Ex: ti[1] (esq.) ti[-4] 
(dir.) 
Fracionamento/fatiamento: 
• lista[1:3] 
• lista[1:] 
Operador in 
• retorna um booleano (True ou False). 
• verifica se um valor está em uma sequência! 
4 in lista 
 
 
 
INE 5201 – Python 3 
Strings, Listas e Tuplas: 
 
 
 Strings 
INE 5201 – Python 3 
“texto” 
 
‘texto‘ 
 
‘‘‘.... multi texto .........., .........., ..... multi 
linhas...., ...,. .. linhas e linhas, ..... ’’’ <class 'str'> 
4.3 Operação com sequências - String 
Caracteres em uma string pode ser acessado utilizando o padrão 
a sintaxe <nome_da_lista>[índice]. 
 
Python usa indexação baseada em zero, então se a variável s é 
‘Hello' a s[1] é 'e'. 
 
 s = ‘Hello' 
 s[1] -> 'e' 
 s[-1] -> ‘o' 
 
Se o índice estiver fora dos limites para a string, Python gera um 
erro. 
INE 5201 – Python 3 
4.3 Operação com sequências - String 
Manipulando a sequencia string: 
Fatiamento – s[início : fim] – inclui início e não inclui o fim; 
INE 5201 – Python 3 
4.3 Operação com sequências - String 
String: 
Strings em Python são "imutáveis ​​", que significa que eles não 
podem ser alterados depois que elas são criadas. 
 
Umas vez que não podem ser alteradas, construímos *Novas* 
sequências para representar valores computados. 
INE 5201 – Python 3 
4.3 Operação com sequências - String 
Manipulando novas sequências strings: 
 
 
 
 
 
 
INE 5201 – Python 3 
4.3 Operação com sequências - String 
Manipulando novas sequências strings: 
INE 5201 – Python 3 
4.3 Operação com sequências - String 
Métodos mais usados em strings: 
- find(), replace(), join(), split() 
- isdigit(), islower(), strip() 
- startswith(), upper(), lower() 
INE 5201 – Python 3 
Uso dos métodos: 
str.método() 
 
 
 Listas 
INE 5201 – Python 3 
[1, 2, 3] 
 
[[1,2],[3,4]] 
 
[‘texto1’, ‘ab’, 1] 
4.3 Operação com sequências - listas 
Python possui uma sintaxe consistente em relação as 
sequências: 
 
- A mesma sintaxe funciona para string, lista, tuplas, 
dicionários; 
 
 
Usamos os mesmo operadores básicos de string em listas; 
 
 
INE 5201 – Python 3 
4.3 Operação com sequências - listas 
Operador + , * (listas ou string) 
a = [1, 2, 3] + [4, 5, 6] (concatenação) 
b = [3] * 4 (repetição) 
len() - retorna um inteiro com o tamanho da sequência! 
 
Métodos pop(), append() e insert() 
pop() - retira o último elemento da lista (conceito de pilhas!) 
append() - adiciona um elemento ao final da lista! 
insert(index, obj) – insere um objeto na lista na posição de offset do 
índice 
 
Atribuição 
lista[0] = 3 
 
Fazendo cópias de sequência , cuidado!!! 
 
INE 5201 – Python 3 
Uso dos métodos: 
list.método() 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Qual será o valor de b ? 
 >>> a = [1,2,3] 
>>> b = a 
>>> a.append(4) 
>>> print b 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Qual será o valor de b ? 
 >>> a = [1,2,3] 
>>> b = a 
>>> a.append(4) 
>>> print b 
>>> b = [1,2,3,4] 
Sequências do tipo listas e dicionários são mutáveis! 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Sequências do tipo, listas e dicionários, são mutáveis! 
4.3 Operação com sequencias - listas 
Manipulando a sequência lista: 
 
INE 5201 – Python 3 
[1, 2, 3, 4, 5, 6] 
 0 1 2 3 4 5 
 -6 -5 -4 -3 -2 -1 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Para fazer cópias de listas 
• a = b[:] (cópias independentes) 
• a = b (referenciam o mesmo objeto) 
Qual a diferença entre listas e tuplas ? 
Listas são mutáveis e Tuplas imutáveis! 
• lista = [1, ‘abc’, 4] 
• tupla = (1, ‘abc’, 4) 
Atribuição em listas e tuplas 
• lista[0] = 3 ok! 
• tupla[0] = 3 Não! (Deve-se criar uma nova tupla! - t = (3, ‘abc’, 4) 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Métodos append() e pop() em listas: 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Instrução del: 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Métodos append() e pop() em listas: 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Função sorted() em listas - ordenação: 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Função sorted() em listas - ordenação: 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Função sorted() em listas, customizado por você: 
 
ex 1: Digamos que você gostaria de ordenar (sorted) a lista por tamanho (len): 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Função sorted() em listas, customizado por você: 
 
ex 2: Digamos que você queira ordenar (sorted) pelo último caractere: 
 
 
 
 
Note que antes foi definida uma função: 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Função sorted() em listas: 
 
ex 2: Digamos que você queira ordenar (sorted) pela ordem reversa: 
 
 
 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Como copiar uma lista ? 
 
 
 
Para copiar, utilize: 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
FOR e IN em listas 
 
FOR é extremamente útil em listas: 
 
 
 
IN também: 
 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
FOR e IN em listas 
 
 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
FOR e IN em listas 
 
 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Lista de listas 
 
 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
http://docs.python.org/3.3/tutorial/datastructures.html 
Mais informações sobre estrutura de dados em Python 3 
Lista de listas 
 
 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Criando uma lista, adicionando elementos: 
 
 
4.3 Operação com sequências - listas 
 
 
INE 5201 – Python 3 
Função para criar uma lista, adicionando elementos: 
 
 
 
 
 Tuplas 
INE 5201 – Python 3 
(1, 2, 3) 
 
((1,2),(3,4)) 
 
(‘texto1’, ‘ab’, 1) 
4.3 Operação com sequências - tuplas 
Tuplas em Python é uma lista imutável ou uma sequência de 
valores imutáveis; 
 
 
Uma tupla é um agrupamento de elementos de tamanho fixo, tal 
como as co-ordenadas (x, y). 
 
 
A mesma sintaxe funciona para tuplas, lista, string e dicionários; 
 
 
INE 5201 – Python 3 
4.3 Operação com sequências - tuplasAs tuplas (tuple) são como listas, exceto que eles são imutáveis ​​e 
não alterar o tamanho (tuplas não são estritamente imutável, já 
que um dos elementos contidos poderia ser mutável). 
 
As tuplas são uma espécie de estrutura em Python - uma forma 
conveniente para passar em torno de um pacote pouco lógico, 
tamanho fixo de valores. 
 
Por exemplo, se fosse necessário ter uma lista de coordenadas 
3D, a representação natural em python seria uma lista de tuplas, 
onde cada tupla teria o tamanho três, com os valores (x, y, z). 
 
INE 5201 – Python 3 
4.3 Operação com sequências - tuplas 
Operador + 
 
 
 
 
 
 
 
 
 
 
 
INE 5201 – Python 3 
4.3 Operação com sequências - tuplas 
Métodos e funções 
len() - retorna um inteiro com o tamanho da sequência! 
pop() - retira o último elemento da lista (conceito de pilhas!) 
append() - adiciona um elemento ao final da tupla! 
sorted() – ordena os elementos 
 
 
 
INE 5201 – Python 3 
4.3 Operação com sequências - tuplas 
Métodos e funções 
len() - retorna um inteiro com o tamanho da sequência! 
 
 
 
pop() - retira o último elemento da lista de tuplas (conceito de pilhas!) 
 
 
 
 
 
 
 
 
INE 5201 – Python 3 
Lista de tuplas 
Tuplas 
4.3 Operação com sequências - tuplas 
Métodos e funções 
append() - adiciona um elemento ao final da lista de tupla! 
 
 
 
 
INE 5201 – Python 3 
Lista de tuplas 
Tuplas 
4.3 Operação com sequências - tuplas 
Métodos e funções 
sorted() – ordena os elementos (1°, 2° ….) 
 
 
 
INE 5201 – Python 3 
 
 
 Dicionário 
INE 5201 – Python 3 
{‘chave’: valor} 
 
{‘key1’: value1, ‘key2’: value2} 
 
Hash Table 
4.3 Operação com sequências - dicionário 
Uma estrutura de dados eficiente {chave: valor} de uma hash 
table é chamado de “dict“ ou dicionário. 
 
 
O conteúdo de um dicionário pode ser escrito como uma série 
de pares {chave: valor} dentro de chaves { }, por exemplo, 
dict = {key1: valor1 , key2: valor2 , ... }. 
 
 
A criação de um dicionário vazio é apenas referenciado com um 
par vazio de chaves {}; 
INE 5201 – Python 3 
4.3 Operação com sequências - dicionário 
Para definir ou procurar um valor em um dicionário utiliza-se 
colchetes []. Para criar um dicionário utiliza-se chaves {}. 
 
 
INE 5201 – Python 3 
cria dicionário com chaves { } 
cria pares de chave: valor 
com colchetes [ ] 
procura pelo valor através da chave 
Muito rápido – mesmo para dicionários muito grandes – com milhões de keys 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
6 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
6 
key não existente 
Sugestão: uso do método dic.get(): 
Uso: dicionario.get() 
 
Retorna None em caso de não encontrar a key e 
não um erro. 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
6 
Métodos – get(), keys(), values(), items() 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
6 
Obtendo as –keys– com um loop for: 
Da mesma maneira: 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
6 
Obtendo os –values– com loop for: 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
Ordenando as saídas – sorted(): 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
Ordenando as saídas – sorted(): 
items(): 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
Mais loops: 
4.3 Operação com sequências - dicionário 
 
 
INE 5201 – Python 3 
Usando o método .format() para atribuir 
nomes à chaves de forma automática em 
um loop: 
 
 
str.format() 
 
 
 Set 
INE 5201 – Python 3 
set() 
4.3 Operação com sequências - set 
INE 5201 – Python 3 
• Python também inclui uma outra classe de dados chamada 
de set. 
 
 
• Set é uma sequencia não-ordenada, sem elementos 
duplicados. 
 
• Os usos básicos, incluem testar elementos quanto a 
semelhança e eliminar entradas duplicadas. 
 
• O objeto set também suporta operações matemáticas 
como união, intersecção, diferença e diferença simétrica. 
4.3 Operação com sequências - set 
INE 5201 – Python 3 
• Para criar um conjunto vazio de dados do tipo 
set(); 
 
• Para criar um set: 
Elementos não 
duplicados 
4.3 Operação com sequências - set 
INE 5201 – Python 3 
• Operações com o set():

Continue navegando