Você está na página 1de 46

por Fbio Cerqueira

Listas
Uma lista uma forma de organizao atravs da enumerao de dados para melhor visualizao da informao. Uma lista tem teoricamente tamanho infinito. Uma list em python diferente das tradicionais listas. So listas mais generalizadas. Uma list uma sequncia, assim como as strings. Listas em Python podem conter elementos de tipos diferentes. Em python a representao de lista feita por [ ] Listas so sequncias mutveis.

Criando uma list


As listas podem ser criadas de duas formas.

Criao de duas listas vazias.

Assim como para strings, o comando len() retorna o tamanho da list.

Criando list com contedo


As listas podem ser criadas definindo direto o seu contedo.

Note que cada nome na lista scios um elemento. Formando uma lista de strings

Listas com tipos variveis


Os elementos da lista no 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 tambm 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 tambm funcionam aqui.

Note o uso de atribuio mltipla.

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 dinmica maior para a string.

Listas podem ser mudadas


Os elementos das listas podem ser modificados.

Diferente das sequncias 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 mtodo remove().

Exemplo de remoo
Este exemplo remove todos o elementos a da list.

O mtodo count que foi usado no exemplo acima retorna quantas vezes o elemento passado como parmetro ocorre na list.

Remoo 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 mtodo pop() remove e retorna o valor do ltimo elemento da lista. Pode ser usado com parmetro, removendo e retornando o valor do index passado. Ex: lista.pop(3)

Insero em listas
At agora vimos somente opes de listas que j nascem prontos e so atualizadas e reduzidas. A insero em listas pode ser feita de vrias formas.

A insero 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 verificao se dois objetos possuem a mesma identidade.

Referncia
As listas so passadas por referncia.

Quando foi modificado o valor de b[1] tambm foi modificado o valor de a[1] por ambos tem o mesmo valor de referncia.

Comandos
Comandos com min(),max(),len() so aplicveis a sequncias, valendo tambm para listas.

Pesquise sobre outros comandos que podem ser usados.

Mtodos para list

As listas possuem nove mtodos definidos, dos quais j foram citados: append,count,extend,insert,pop,remove.

Compresses de listas
As listas podem ser filtradas atravs de compresses. Sintaxe:
[expDeMapeamento for elemento in listaOrigem if expDeFiltragem]

A compresso de lista usada quando deseja filtrar dados de uma lista avaliados pela condio expDeFiltragem. Exemplos:

Tuplas
As tuplas assim como as listas so sequncias, no entanto no so mutveis Podem conter elementos de diferentes tipos dentro dela. possvel realizar slices assim como nas strings e listas. Gerando uma nova tupla. As tuplas so representados por () As tuplas no possuem mtodos. No possvel adicionar, remover ou atualizar elementos de uma tupla

E porque usar tuplas?


So mais rpidas que as listas So usadas na formatao das strings Para listas de elementos constantes a melhor opo So usadas com parmetros de funes de parmetros variveis. uma sequncia de tipos variados que pode ser usados como chave de dicionrio.

Criando uma tupla


Assim como as listas, temos mais de uma opo para criao de tupla.

Criao de tupla com um elemento.

Criando uma tupla


Assim como as listas, temos mais de uma opo para criao de tupla.

Criao de tupla com um elemento.

Operadores com tupla


Voc no pode modificar uma tupla, mas pode troc-la por outra.

Note que ao mudar o contedo da tuple vogais, mudamos seu id tambm

Funes retornando tuplas


Tuplas podem servir de retorno em funes. Um exemplo disso o comando divmod() que retorna o valor do quociente e do resto em uma tupla.

Dicionrios
Dicionrios so estruturas parecidas com o que temos de dicionrio no mundo real. Exemplo: 2. Um dicionrio portugus para ingls. 4. Uma legenda de mapa Os dicionrios so representados em python por {} Os dicionrios so multveis No suporta chaves repetidas So divididos em chave e valor No existe o conceito de ordenao de um dicionrio

Criando dicionrios
A criao de um dicionrio pode ser feita de mais de uma forma.

Note o uso das {} para definir o dicionrio e que os itens so separados por , uns dos outros, mas a chave do seu valor separada por :

Acessando o valor
Exemplo de como acessar os valores de um dicionrio:

Observe que o acesso agora feito atravs da chave, representado no dicionrio legenda por: +,-,*,/ Diferente de como era feito o acesso em strings, tuplas e listas.

Modificando um valor
Dicionrios possuem valores quem podem ser alterados atravs do acesso pelas suas respectivas chaves:

A modificao da Soma para Adio foi feita atravs da chave o smbolo +

Removendo valores
Removendo com os mtodos pop() e popitem():

Removendo por chave com o comando del:

As chaves
Os dicionrios oferecem alguns mtodos para trabalhar com chaves.

Os valores
Assim como para chaves os dicionrios tambm tm mtodos para trabalhar com valores.

Adicionando mais itens


Para adicionar mais elementos em um dicionrio usando o mtodo update()

O mtodo update recebe como parmetro um dicionrio e faz a atualizao caso j exista a chave, se n existe ele faz a adio do novo item.

Mtodos teis
Os mtodos get() e setdefault()

Outros mtodos teis podem ser o clear(),copy(),items() e iteritems() Ver prximo slide.

Dict e strings
O dicionrios assim com as tuplas podem ser usados em strings formatadas, s que agora de forma nomeada.

Exemplo prtico para arquivos html.

Conjuntos
Conjuntos so tipos de dados poucos usados em Python que representam conjuntos que no possuem itens repetidos.

Existem dois tipos: set() - mutvel com as listas frozenset() fixo com as tuplas

Operaes e mtodos
Os conjuntos possuem mtodos e operaes semelhas as usadas da matemtica.

Note que a ordem que usada a diferena interfere no resultado.

Operaes e mtodos
Verificao de subconjuntos

Mais sobre conjunto.

Para maiores informaes sobre conjuntos visite a documentao do python em:

http://docs.python.org/lib/types-set.html

Funes

Sintaxe bsica: def nome(parametros): <bloco de comandos>

Funes
Os exemplos de funes ao lado apresentam algumas caractersticas distintas.
menu() um procedimento que exibe um texto na tela triplo(x) retorna o valor do triplo de um nmero curso(nome = Python) exibe uma frase na tela, mas com o detalhe do parmetro de valor padro

Funes so objetos
Assim como tudo em python, as funes tambm so objetos.

Veja que recriamos a funo divmod que retorna uma tupla (quoc,resto). E logo a seguir fizemos um alias para ela, fazendo d = divmodF

A ordem no importa
A ordem como so chamados os parmetros no importa, desde que sejam chamados de forma nomeada

Note que o resultado igual, mesmo chamando os parmetros em ordem trocada. possvel por causa da chamada com parmetros nomeados.

Parmetros Especiais I
Existem outros tipos de passagem de parmetro. Um deles passando uma tupla como argumento.

Parmetros Especiais II
O segundo tipo de passagem de parmetro especial usando dicionrios.

Funes dentro de funes


Voc pode criar funes dentro de outras funes O conceito de funo dentro de funes Refora que cada funo um objeto. Para mais informaes e conhecer a aplicao para isso busca no google por python decorators

Você também pode gostar