Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012 Relembrando... Tipos primitivos Simples (int, long, float, complex, string) Compostos Listas Tuplas Dicionários Conjuntos Definidos pelo usuário Classes Tuplas Sequências imutáveis de elementos Funcionalidades semelhantes às listas Definição de uma tupla >>>T = (1,2,3) >>>T[0] 1 Tupla vazia () Parênteses são opcionais, se não provocar ambiguidade (10) inteiro Se tiver apenas um elemento, é (10,) Tupla preciso colocar uma vírgula após o 10, Tupla elemento. Função tuple Transforma um elemento em uma tupla >>>tuple (“abcd”) (‘a’, ‘b’, ‘c’, ‘d’) >>>tuple([1,2,3]) (1,2,3) Utilização das tuplas Estruturas que demandam valores imutáveis Chaves de dicionários Funções com números variáveis de argumentos Formatação de texto Formatação de texto Formatação Usado para criar strings misturando texto e valores de variáveis Formato String_template % valor String_template contém texto e indicadores de variáveis %s string %d decimal Mais detalhes sobre formatação em %f float http://docs.python.org/library/string.html etc. Exemplo “Decimal %d” % 10 Decimal 10 “Decimal %d float %f” % (10,10) Decimal 10 float 10.0000 “%s tirou nota %d” % (‘João’, 10) João tirou nota 10 Módulo string Auxilia a manipulação de strings Principais funções da classe string String.find(substring) Retorna o índice da primeira aparição de substring em string String.join(sequência_de_strings) Retorna uma sequência de strings em uma string, utilizando como separador o valor de String Ex: “/”.join((‘1’, ‘2’, ‘3’)) Módulo string String.replace(velho, novo) Retorna uma string com todas as instâncias de velho substituídas por novo em String String.split(separador) Retorna uma lista com as partes de String separadas de acordo com separador Ex: >>>a = “Frase de teste para entender o split” >>>a.split(‘ ‘) [“Frase”, “de”, “teste”, “para”, “entender”, “o”, “split”] Dicionários Estruturas semelhantes às listas, mas que: Não tem ordem O índice (ou chave) pode ser de qualquer tipo imutável Formato { chave1:conteúdo1, ... chaveN:conteúdoN} O conteúdo associado a uma chave pode ser alterado A chave não pode ser alterada Ex: dicionario[chave]=“Novo valor” Novos valores podem ser acrescentados pela adição de uma chave ainda não definida Listas x Dicionários Ex: Criando uma agenda com listas Criar duas listas, nome e telefone, que armazenam o nome e o telefone no mesmo índice Para acrescentar “Joao” com telefone “5019”: nome+= “Joao” telefone+=“5019” Para encontrar o telefone de “Joao”: Tel = telefone[nome.index[“Joao”]] i=0 i=1 i=2 Nome tel Joao Maria Jose 5019 2030 1818 Adiciona elemento no fim da lista Função de listas que diz o índice dado o valor buscado Listas x Dicionários Ex: Criando uma agenda com dicionários Criar um dicionário cuja chave é o nome e o conteúdo é o telefone Para acrescentar “Joao” com telefone “5019”: telefone[“Joao”] = “5019” Para encontrar o telefone de “Joao”: Tel = telefone[“Joao”] i=0 i=1 i=2 Nome tel Joao Maria Jose 5019 2030 1818 Exemplos Função dict Usada para criar dicionários Argumentos Lista de tuplas (chave, conteúdo) Ou sequência de itens no formato chave=valor Nesse caso, as chaves TEM que ser strings sem aspas Uso do for Comando for pode ser usado para iterar sobre todas as chaves de um dicionário Classe dict Dicionario.clear() Remove todos os elementos do dicionário Atenção: Método clear >>> x = { "Joao":"a", "Maria":"b" } >>> y = x >>> x.clear() >>> print x,y {} {} Atribuição de dicionário vazio >>> x = { "Joao":"a", "Maria":"b" } >>> y = x >>> x = {} >>> print x,y {} {'Joao': 'a', 'Maria': 'b'} Classe dict fromkeys(lista,valor) Retorna um novo dicionário com as chaves em listas associadas à valor Valor vale, por default, None Exemplos >>> {}.fromkeys([2,3]) {2: None, 3: None} >>> dict.fromkeys(["Joao","Maria"],0) {'Joao': 0, 'Maria': 0} >>>dict.fromkeys([(["Joao","Maria"]) {'Joao': None, 'Maria': None} Classe dict get(chave,valor) Obtém o conteúdo de chave Não causa erro caso chave não exista: retorna valor Se valor não for especificado, chaves inexistentes retornam None Classe dict Dicionario.has_key(chave) Retorna True se a chave existe no Dicionário e False, caso não exista Dicionario.items() Retorna uma lista com todos os pares chave/conteúdo do dicionário Dicionario.keys() Retorna uma lista com todas as chaves do dicionário Dicionario.values() Retorna uma lista com todos os valores do dicionário Classe dict Dicionario.pop(chave) Retorna o valor de chave e remove o par chave/valor do dicionário Dicionario.popitem() Retorna e remove um par chave/valor aleatório do dicionário Funções embutidas len(dicionario) Retorna o tamanho do dicionário key in dicionario Retorna True se a key pertence ao dicionário key not in dicionario Retorna True se a key não pertence ao dicionário