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
Download

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