1 / 20

Programação Avançada Tuplas, strings e dicionários

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

salome
Download Presentation

Programação Avançada Tuplas, strings e dicionários

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programação AvançadaTuplas, strings e dicionários Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012

  2. Relembrando... • Tipos primitivos • Simples (int, long, float, complex, string) • Compostos • Listas • Tuplas • Dicionários • Conjuntos • Definidos pelo usuário • Classes

  3. 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.

  4. Função tuple • Transforma um elemento em uma tupla >>>tuple (“abcd”) (‘a’, ‘b’, ‘c’, ‘d’) >>>tuple([1,2,3]) (1,2,3)

  5. 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

  6. 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

  7. 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’))

  8. 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”]

  9. 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

  10. 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

  11. 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

  12. Exemplos

  13. 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

  14. Uso do for • Comando for pode ser usado para iterar sobre todas as chaves de um dicionário

  15. 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'}

  16. 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}

  17. 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

  18. 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

  19. 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

  20. 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

More Related