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

Python - Estruturas de dados

on

  • 20,912 views

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

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

Statistics

Views

Total Views
20,912
Views on SlideShare
20,567
Embed Views
345

Actions

Likes
9
Downloads
477
Comments
0

4 Embeds 345

http://fabiocerqueira.wordpress.com 304
http://www.slideshare.net 38
https://twitter.com 2
http://static.slideshare.net 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Python - Estruturas de dados Python - Estruturas de dados Presentation Transcript

  • 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. 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.
  • 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.
  • 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
  • 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.
  • 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 será um elemento da list. Dando assim uma dinâmica maior para a string.
  • 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
  • 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 retorna quantas vezes o elemento passado como parâmetro ocorre na list.
  • 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)
  • 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.
  • Operadores para lista
  • Identidade Mesmo as listas sendo iguais elas possuem identidades diferentes. O operador is faz a verificação se dois objetos possuem a mesma identidade.
  • 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.
  • 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.
  • Métodos para list As listas possuem nove métodos definidos, dos quais já foram citados: append,count,extend,insert,pop,remove.
  • 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:
  • 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
  • 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.
  • 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.
  • 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.
  • 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
  • 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.
  • 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
  • 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 :
  • 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.
  • 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 ‘+’
  • 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 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.
  • 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.
  • 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.
  • 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
  • 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.
  • 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.python.org/lib/types-set.html
  • 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 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
  • 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
  • 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.
  • 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 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