Em Python o dicionário é bem mais poderoso que em Perl, pois seus valores podem conter qualquer tipo de objeto como listas e até mesmo outros dicionários. Para entender rapidamente o funcionamento de um dicionário, nada melhor que experimentar com o interpretador interativo IDLE. Faça os seguintes testes, que explicaremos a seguir, com a listagem 7.
Listagem 7
1 Python 1.5.2 (#0, Apr 13 1999, 10:51:12)
2 Copyright 1991-1995 Stichting Mathematisch Centrum, Amsterdam
3 dic = {}
4 >>> dic['ze'] = 300
5 >>> dic['mauricio'] = 100
6 >>> dic['heloisa'] = 150
7 >>> dic['ze']
8 300
9 >>> dic
10 {'mauricio': 100, 'ze': 300, 'heloisa': 150}
11 >>> dic['ze'] = 200
12 >>> dic
13 {'mauricio': 100, 'ze': 200, 'heloisa': 150}
14 >>> dic.keys()
15 ['mauricio', 'ze', 'heloisa']
16 >>> dic['paulo']
17 Traceback (innermost last):
18 File '', line 1, in ?
19 dic['paulo']
20 KeyError: paulo
21 >>> dic.has_key('heloisa')
22 1
23 >>> dic.has_key('paulo')
24 0
25 >>>
|
Linha 3: antes de usar um dicionário, é preciso criá-lo. Nesse caso, criamos um dicionário vazio. As chaves {} são usadas para representar dicionários, como veremos novamente nas linhas 10 e 13.
Linhas 4, 5 e 6: criamos três itens no dicionário, usando as chaves 'ze', 'mauricio' e 'heloisa' e os valores 300, 100 e 150, respectivamente.
Linhas 7 e 8: aqui acessamos o valor associado à chave 'ze' e obtemos o número 300.
Linhas 9 e 10: agora acessamos o dicionário como um todo, e obtemos uma listagem entre chaves, com os itens separados por vÃrgula. Cada par de chave e valor aparece separado pelo sinal ':'. Note que a ordem dos itens não tem lógica aparente. Python não garante a ordem dos itens de um dicionário.
Linha 11: associamos um novo valor a uma chave existente. Num dicionário, todas as chaves são únicas. Não pode haver dois itens com a mesma chave 'ze'. Assim, essa operação muda o valor associado à esta chave.
Linhas 12 e 13: exibimos de novo o dicionário inteiro. Note que o valor associado à chave 'ze' mudou.
Linha 14: o método keys() retorna a lista de chaves do dicionário. Um método nada mais é que uma função associada a um objeto, que deve ser invocada usando a sintaxe objeto.metodo(). Em nosso exemplo temos dic.keys().
Linha 15: aqui aparece a lista de chaves. Note que a lista, como sempre, vem delimitada por colchetes. O resultado do método keys() é uma lista de chaves, e não um dicionário.
Linhas 16 a 20: tentamos acessar o valor de uma chave inexistente. Python reclama com a mensagem 'KeyError: paulo', indicando que o dicionário não possui uma chave igual a 'paulo'.
Linhas 21 a 24: para verificar se uma determinada chave existe, usamos o método has_key() (tem_chave). Os exemplos mostram que has_key() retorna 1 quando a chave existe, e zero quando ela não existe.
» Resolvendo o Orçamento da República »