por Fábio Cerqueira
Listas
   Uma lista é uma forma de organização através da enumeração de
   dados para melhor visualização da informação. U...
Criando uma list
As listas podem ser criadas de duas formas.




Criação de duas listas vazias.


Assim como para strings,...
Criando list com conteúdo
As listas podem ser criadas definindo direto o seu conteúdo.




  Note que cada nome na lista s...
Listas com tipos variáveis
Os elementos da lista não precisam ser do mesmo tipo.




1. A list curso possui dois elementos...
Acesso aos valores
Os slices usados em string também funcionam aqui.




Note o uso de atribuição múltipla.
De strings para listas

Dica do uso do construtor para converter de string para lista




Cada caractere da string agora s...
Listas podem ser mudadas
Os elementos das listas podem ser modificados.




 Diferente das sequências fixas, como string, ...
Removendo elemento




Para remove um elemento da lista usa-se o comando del() ou o método
   remove().
Exemplo de remoção
Este exemplo remove todos o elementos ‘a’ da list.




O método count que foi usado no exemplo acima re...
Remoção estilo pilha
Uma pilha(LIFO - Last in firt out) é uma estrutura de dados que onde o
  último elemento a ser adicio...
Inserção em listas
Até agora vimos somente opções de listas que já nascem prontos e são
   atualizadas e reduzidas. A inse...
Operadores para lista
Identidade
Mesmo as listas sendo iguais elas possuem identidades diferentes.




                                         ...
Referência
As listas são passadas por referência.




Quando foi modificado o valor de b[1] também foi modificado o valor ...
Comandos
Comandos com min(),max(),len() são aplicáveis a sequências, valendo
também para listas.




Pesquise sobre outros...
Métodos para list


As listas possuem nove métodos definidos, dos quais já foram citados:
   append,count,extend,insert,po...
Compressões de listas
As listas podem ser filtradas através de compressões.
Sintaxe:

[expDeMapeamento for elemento in lis...
Tuplas
• As tuplas assim como as listas são sequências, no entanto não são
  mutáveis
• Podem conter elementos de diferent...
E porque usar tuplas?
• São mais rápidas que as listas


• São usadas na formatação das strings


• Para “listas” de eleme...
Criando uma tupla
Assim como as listas, temos mais de uma opção para criação de tupla.




Criação de tupla com um element...
Criando uma tupla
Assim como as listas, temos mais de uma opção para criação de tupla.




Criação de tupla com um element...
Operadores com tupla
Você não pode modificar uma tupla, mas pode trocá-la por outra.




Note que ao “mudar” o conteúdo da...
Funções retornando tuplas

Tuplas podem servir de retorno em funções. Um exemplo disso é o
  comando divmod() que retorna ...
Dicionários
Dicionários são estruturas parecidas com o que temos de dicionário no
   mundo real. Exemplo:
2. Um dicionário...
Criando dicionários

A criação de um dicionário pode ser feita de mais de uma forma.




 Note o uso das {} para definir o...
Acessando o valor

Exemplo de como acessar os valores de um dicionário:




Observe que o acesso agora é feito através da ...
Modificando um valor

Dicionários possuem valores quem podem ser alterados através do
   acesso pelas suas respectivas cha...
Removendo valores
Removendo com os métodos pop() e popitem():




Removendo por chave com o comando del:
As chaves
Os dicionários oferecem alguns métodos para trabalhar com chaves.
Os valores
Assim como para chaves os dicionários também têm métodos para
   trabalhar com valores.
Adicionando mais itens
Para adicionar mais elementos em um dicionário usando o método
   update()




 O método update rec...
Métodos úteis
 Os métodos get() e setdefault()




Outros métodos úteis podem ser o clear(),copy(),items() e
iteritems() V...
Dict e strings
O dicionários assim com as tuplas podem ser usados em strings
   formatadas, só que agora de forma nomeada....
Conjuntos
Conjuntos são tipos de dados poucos usados em Python que representam
  conjuntos que não possuem itens repetidos...
Operações e métodos
Os conjuntos possuem métodos e operações semelhas as usadas da
   matemática.




                    ...
Operações e métodos
Verificação de subconjuntos
Mais sobre conjunto.



Para maiores informações sobre conjuntos visite a documentação do
   python em:

http://docs.pytho...
Funções



Sintaxe básica:
def nome(parametros):
   <bloco de comandos>
Funções
Os exemplos de funções
ao lado apresentam algumas
características distintas.
menu() – é um procedimento que
exibe ...
Funções são objetos
Assim como tudo em python, as funções também são objetos.




 Veja que recriamos a função divmod que ...
A ordem não importa
A ordem como são chamados os parâmetros não importa, desde que
   sejam chamados de forma nomeada




...
Parâmetros Especiais I
Existem outros tipos de passagem de parâmetro. Um deles é passando
   uma tupla como argumento.
Parâmetros Especiais II
O segundo tipo de passagem de parâmetro especial é usando dicionários.
Funções dentro de funções
Você pode criar funções dentro de outras funções


                                  O conceito ...
Python - Estruturas de dados
Upcoming SlideShare
Loading in...5
×

Python - Estruturas de dados

20,813

Published on

Mostra as estruturas de dados que no Python já vem nativo da linguagem

Published in: Technology

Python - Estruturas de dados

  1. 1. por Fábio Cerqueira
  2. 2. Listas Uma lista é uma forma de organização através da enumeração de dados para melhor visualização da informação. Uma lista tem teoricamente tamanho infinito. • Uma list em python é diferente das tradicionais listas. São listas mais generalizadas. • Uma list é uma sequência, assim como as strings. • Listas em Python podem conter elementos de tipos diferentes. • Em python a representação de lista é feita por [ ] • Listas são sequências mutáveis.
  3. 3. Criando uma list As listas podem ser criadas de duas formas. Criação de duas listas vazias. Assim como para strings, o comando len() retorna o tamanho da list.
  4. 4. Criando list com conteúdo As listas podem ser criadas definindo direto o seu conteúdo. Note que cada nome na lista sócios é um elemento. Formando uma lista de strings
  5. 5. Listas com tipos variáveis Os elementos da lista não precisam ser do mesmo tipo. 1. A list curso possui dois elementos, uma str e um list. 2. A list alunos possui 3 elementos, todas list • Note que o elemento 2 da lista curso é outra list que possui 4 elementos de tipo variados entre str, float e int • Note também no 2º elemento do 3º elemento da lista alunos a palavra None. Ela representa vazio no Python.
  6. 6. Acesso aos valores Os slices usados em string também funcionam aqui. Note o uso de atribuição múltipla.
  7. 7. De strings para listas Dica do uso do construtor para converter de string para lista Cada caractere da string agora será um elemento da list. Dando assim uma dinâmica maior para a string.
  8. 8. Listas podem ser mudadas Os elementos das listas podem ser modificados. Diferente das sequências fixas, como string, os elementos das lists podem ser alterados
  9. 9. Removendo elemento Para remove um elemento da lista usa-se o comando del() ou o método remove().
  10. 10. Exemplo de remoção Este exemplo remove todos o elementos ‘a’ da list. O método count que foi usado no exemplo acima retorna quantas vezes o elemento passado como parâmetro ocorre na list.
  11. 11. Remoção estilo pilha Uma pilha(LIFO - Last in firt out) é uma estrutura de dados que onde o último elemento a ser adiciona é o primeiro a ser removido. O método pop() remove e retorna o valor do último elemento da lista. Pode ser usado com parâmetro, removendo e retornando o valor do index passado. Ex: lista.pop(3)
  12. 12. Inserção em listas Até agora vimos somente opções de listas que já nascem prontos e são atualizadas e reduzidas. A inserção em listas pode ser feita de várias formas. A inserção ainda pode ser feita com uso de operadores.
  13. 13. Operadores para lista
  14. 14. Identidade Mesmo as listas sendo iguais elas possuem identidades diferentes. O operador is faz a verificação se dois objetos possuem a mesma identidade.
  15. 15. Referência As listas são passadas por referência. Quando foi modificado o valor de b[1] também foi modificado o valor de a[1] por ambos tem o mesmo valor de referência.
  16. 16. Comandos Comandos com min(),max(),len() são aplicáveis a sequências, valendo também para listas. Pesquise sobre outros comandos que podem ser usados.
  17. 17. Métodos para list As listas possuem nove métodos definidos, dos quais já foram citados: append,count,extend,insert,pop,remove.
  18. 18. Compressões de listas As listas podem ser filtradas através de compressões. Sintaxe: [expDeMapeamento for elemento in listaOrigem if expDeFiltragem] A compressão de lista é usada quando deseja filtrar dados de uma lista avaliados pela condição expDeFiltragem. Exemplos:
  19. 19. Tuplas • As tuplas assim como as listas são sequências, no entanto não são mutáveis • Podem conter elementos de diferentes tipos dentro dela. • É possível realizar slices assim como nas strings e listas. Gerando uma nova tupla. • As tuplas são representados por () • As tuplas não possuem métodos. • Não é possível adicionar, remover ou atualizar elementos de uma tupla
  20. 20. E porque usar tuplas? • São mais rápidas que as listas • São usadas na formatação das strings • Para “listas” de elementos constantes é a melhor opção • São usadas com parâmetros de funções de parâmetros variáveis. • É uma sequência de tipos variados que pode ser usados como chave de dicionário.
  21. 21. Criando uma tupla Assim como as listas, temos mais de uma opção para criação de tupla. Criação de tupla com um elemento.
  22. 22. Criando uma tupla Assim como as listas, temos mais de uma opção para criação de tupla. Criação de tupla com um elemento.
  23. 23. Operadores com tupla Você não pode modificar uma tupla, mas pode trocá-la por outra. Note que ao “mudar” o conteúdo da tuple vogais, mudamos seu id também
  24. 24. Funções retornando tuplas Tuplas podem servir de retorno em funções. Um exemplo disso é o comando divmod() que retorna o valor do quociente e do resto em uma tupla.
  25. 25. Dicionários Dicionários são estruturas parecidas com o que temos de dicionário no mundo real. Exemplo: 2. Um dicionário português para inglês. 4. Uma legenda de mapa • Os dicionários são representados em python por {} • Os dicionários são multáveis • Não suporta chaves repetidas • São divididos em chave e valor • Não existe o conceito de ordenação de um dicionário
  26. 26. Criando dicionários A criação de um dicionário pode ser feita de mais de uma forma. Note o uso das {} para definir o dicionário e que os itens são separados por ‘,’ uns dos outros, mas a chave do seu valor é separada por :
  27. 27. Acessando o valor Exemplo de como acessar os valores de um dicionário: Observe que o acesso agora é feito através da chave, representado no dicionário legenda por: ‘+’,’-’,’*’,’/’ Diferente de como era feito o acesso em strings, tuplas e listas.
  28. 28. Modificando um valor Dicionários possuem valores quem podem ser alterados através do acesso pelas suas respectivas chaves: A modificação da ‘Soma’ para ‘Adição’ foi feita através da chave o símbolo ‘+’
  29. 29. Removendo valores Removendo com os métodos pop() e popitem(): Removendo por chave com o comando del:
  30. 30. As chaves Os dicionários oferecem alguns métodos para trabalhar com chaves.
  31. 31. Os valores Assim como para chaves os dicionários também têm métodos para trabalhar com valores.
  32. 32. Adicionando mais itens Para adicionar mais elementos em um dicionário usando o método update() O método update recebe como parâmetro um dicionário e faz a atualização caso já exista a chave, se n existe ele faz a adição do novo item.
  33. 33. Métodos úteis Os métodos get() e setdefault() Outros métodos úteis podem ser o clear(),copy(),items() e iteritems() Ver próximo slide.
  34. 34. Dict e strings O dicionários assim com as tuplas podem ser usados em strings formatadas, só que agora de forma nomeada. Exemplo prático para arquivos html.
  35. 35. Conjuntos Conjuntos são tipos de dados poucos usados em Python que representam conjuntos que não possuem itens repetidos. • Existem dois tipos: • set() - mutável com as listas • frozenset() – fixo com as tuplas
  36. 36. Operações e métodos Os conjuntos possuem métodos e operações semelhas as usadas da matemática. Note que a ordem que é usada a diferença interfere no resultado.
  37. 37. Operações e métodos Verificação de subconjuntos
  38. 38. Mais sobre conjunto. Para maiores informações sobre conjuntos visite a documentação do python em: http://docs.python.org/lib/types-set.html
  39. 39. Funções Sintaxe básica: def nome(parametros): <bloco de comandos>
  40. 40. Funções Os exemplos de funções ao lado apresentam algumas características distintas. menu() – é um procedimento que exibe um texto na tela triplo(x) – retorna o valor do triplo de um número curso(nome = “Python”) – exibe uma frase na tela, mas com o detalhe do parâmetro de valor padrão
  41. 41. Funções são objetos Assim como tudo em python, as funções também são objetos. Veja que recriamos a função divmod que retorna uma tupla (quoc,resto). E logo a seguir fizemos um alias para ela, fazendo d = divmodF
  42. 42. A ordem não importa A ordem como são chamados os parâmetros não importa, desde que sejam chamados de forma nomeada Note que o resultado é igual, mesmo chamando os parâmetros em ordem trocada. É possível por causa da chamada com parâmetros nomeados.
  43. 43. Parâmetros Especiais I Existem outros tipos de passagem de parâmetro. Um deles é passando uma tupla como argumento.
  44. 44. Parâmetros Especiais II O segundo tipo de passagem de parâmetro especial é usando dicionários.
  45. 45. Funções dentro de funções Você pode criar funções dentro de outras funções O conceito de função dentro de funções Reforça que cada função é um objeto. Para mais informações e conhecer a aplicação para isso busca no google por python decorators
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×