Docsity
Docsity

Prepare-se para as provas
Prepare-se para as provas

Estude fácil! Tem muito documento disponível na Docsity


Ganhe pontos para baixar
Ganhe pontos para baixar

Ganhe pontos ajudando outros esrudantes ou compre um plano Premium


Guias e Dicas
Guias e Dicas


Python 07 Dicionarios Tuplas, Slides de Engenharia de Materiais

Série de slides ensinando a sintaxe da linguagem computacional Python. Por Paulo Esperança, adaptado por Rodrigo Toledo.

Tipologia: Slides

2011

Compartilhado em 23/09/2011

rafael-pinto-24
rafael-pinto-24 🇧🇷

4.3

(6)

8 documentos

1 / 15

Toggle sidebar

Esta página não é visível na pré-visualização

Não perca as partes importantes!

bg1
Rodrigo de Toledo
(adaptação do original do prof. Claudio Esperança)
Python:
Python:
Dicionários
Dicionários
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Pré-visualização parcial do texto

Baixe Python 07 Dicionarios Tuplas e outras Slides em PDF para Engenharia de Materiais, somente na Docsity!

Rodrigo de Toledo

(adaptação do original do prof. Claudio Esperança)

Python: Python:

Dicionários Dicionários

Chaves vs. ÍndicesChaves vs. Índices

 Considere que queiramos representar um caderno

de telefones

 Uma solução é ter uma lista de nomes e outra de

telefones

 (^) Telefone de nome[i] armazenado em telefone[i]  Acrescentar “Joao” com telefone “20122232”: nome+= “Joao” telefone+=“20122232”  Para encontrar o telefone de “Joao”: tel = telefone[nome.index[“Joao”]]

 Dicionários tornam isso mais fácil e eficiente

telefone[“Joao”] = “20122232” tel = telefone[“Joao”]

Criando dicionáriosCriando dicionários

 (^) Uma constante do tipo dicionário é escrita { chave1:conteúdo1, ... chaveN:conteúdoN}  (^) Uma variável do tipo dicionário pode ser “indexada” da maneira habitual, isto é, usando colchetes com a chave que se deseja acessar.  (^) Teljoao = telefone[“Joao”]  (^) O conteúdo associado a uma chave pode ser alterado atribuindo-se àquela posição do dicionário  (^) telefone[“Joao”] = “5555-0000” #novo telefone  (^) Novos valores podem ser acrescentados a um dicionário fazendo atribuição a uma chave ainda não definida  (^) telefone[“Maria”] = “5555-0001” #nova amiga

ExemploExemplo

dic = {} dic["joao"] = 100 dic {'joao': 100} dic["maria"] = 150 dic {'joao': 100, 'maria': 150} dic["joao"] 100 dic["maria"] 150 dic["pedro"] = 10 dic {'pedro': 10, 'joao': 100, 'maria': 150}

Dicionários não têm ordemDicionários não têm ordem

 (^) As chaves dos dicionários não são armazenadas em qualquer ordem específica

 Na verdade, dicionários são implementados por
tabelas de espalhamento ( Hash Tables )
 A falta de ordem é proposital

 (^) Diferentemente de listas, atribuir a um elemento de um dicionário não requer que a posição exista previamente

X = []
X [10] = 5 # ERRO!
Y = {}
Y [10] = 5 # OK!

Percorrendo DicionáriosPercorrendo Dicionários

meses = {"janeiro":31, "fevereiro":28, "marco":31, "abril":30, "maio":31, "junho":30, "julho":31, "agosto":31, "setembro":30, "outubro":31, "novembro":31, "dezembro":31 } for i in meses: print i, meses[i]

MétodoMétodo has_keyhas_key

 has_key( chave )

 dic.has_key( chave ) é o mesmo que chave in dic

 Ex.:

dic = { "Joao":"a", "Maria":"b" } dic.has_key("Joao" True dic.has_key("Pedro" False

MétodoMétodo poppop

 pop (chave)

 Obtém o valor correspondente a chave e remove o

par chave/valor do dicionário

 Ex.:

d = {'x': 1, 'y': 2} d.pop('x' 1 d {'y': 2}

MétodoMétodo updateupdate

 update( dic )

 Atualiza um dicionário com os elementos de outro

 Os itens em dic são adicionados um a um ao

dicionário original

 É possível usar a mesma sintaxe da função dict

para especificar dic

 Ex.:

x = {"a":1,"b":2,"c":3} y = {"z":9,"b":7} x.update(y x {'a': 1, 'c': 3, 'b': 7, 'z': 9} x.update({'r':3} x {'a': 1, 'c': 3, 'b': 7, 'r': 3, 'z': 9}

ExercícioExercício

 Algum mais fácil do que o da estação...