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

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

  • Upload
    salome

  • View
    29

  • Download
    0

Embed Size (px)

DESCRIPTION

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 - PowerPoint PPT Presentation

Citation preview

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

Programação AvançadaTuplas, strings e dicionários

Prof. Natalia Castro FernandesMestrado em Telecomunicações – UFF

2º semestre/2012

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

Relembrando...Tipos primitivos

Simples (int, long, float, complex, string) Compostos

Listas Tuplas Dicionários Conjuntos

Definidos pelo usuárioClasses

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

TuplasSequências imutáveis de elementosFuncionalidades 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,) Tupla10, Tupla

Se tiver apenas um elemento, é preciso colocar uma vírgula

após o elemento.

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

Função tupleTransforma um elemento em uma tupla

>>>tuple (“abcd”)(‘a’, ‘b’, ‘c’, ‘d’)>>>tuple([1,2,3])(1,2,3)

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

Utilização das tuplasEstruturas que demandam valores imutáveis

Chaves de dicionáriosFunções com números variáveis de argumentosFormatação de texto

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

Formatação de textoFormataçã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

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

Módulo stringAuxilia a manipulação de stringsPrincipais 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’))

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

Módulo stringString.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”]

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

DicionáriosEstruturas semelhantes às listas, mas que:

Não tem ordemO í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 alteradoA chave não pode ser alteradaEx: dicionario[chave]=“Novo valor”

Novos valores podem ser acrescentados pela adição de uma chave ainda não definida

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

Listas x DicionáriosEx: 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”]]

Função de listas que diz o índice dado o valor buscado

Nome tel

Joao 5019Maria 2030Jose 1818

i=0i=1i=2

Adiciona elemento no fim da lista

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

Listas x DicionáriosEx: 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 5019Maria 2030Jose 1818

i=0i=1i=2

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

Exemplos

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

Função dictUsada 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

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

Uso do forComando for pode ser usado para iterar

sobre todas as chaves de um dicionário

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

Classe dictDicionario.clear() Remove todos os elementos

do dicionário Atenção:

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

Método clear Atribuição de dicionário vazio

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

Classe dictfromkeys(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}

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

Classe dictget(chave,valor)

Obtém o conteúdo de chaveNão causa erro caso chave não exista: retorna

valorSe valor não for especificado, chaves

inexistentes retornam None

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

Classe dictDicionario.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

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

Classe dictDicionario.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

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

Funções embutidaslen(dicionario) Retorna o tamanho do

dicionáriokey in dicionario Retorna True se a key

pertence ao dicionáriokey not in dicionario Retorna True se a key

não pertence ao dicionário