200 likes | 301 Views
Programação Avançada Tuplas, strings e dicionários. 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
E N D
Programação AvançadaTuplas, strings e dicionários 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 • (10,) Tupla • 10, Tupla Se tiver apenas um elemento, é preciso colocar uma vírgula após o 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 • %f float • 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 Mais detalhes sobre formatação em http://docs.python.org/library/string.html
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”]] Nome tel Joao 5019 Maria 2030 Jose 1818 i=0 i=1 i=2 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”] Nome tel Joao 5019 Maria 2030 Jose 1818 i=0 i=1 i=2
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 Atribuição de dicionário vazio >>> x = { "Joao":"a", "Maria":"b" } >>> y = x >>> x.clear() >>> print x,y {} {} >>> 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