Dicionário
Vamos dar uma olhada em outro tipo de dados composto do Python, chamado dicionário, que é semelhante a uma lista por ser uma coleção de objetos.
Dicionários e listas têm as seguintes características:
- ambos são mutáveis;
- ambos são dinâmicos (podem crescer e encolher conforme necessário);
- ambos podem ser aninhados (uma lista pode conter outra lista, um dicionário pode conter outro dicionário, um dicionário também pode conter uma lista e vice-versa).
Os dicionários diferem das listas principalmente em como os elementos são acessados:
- os elementos da lista são acessados por sua posição na lista por meio de indexação;
- Elementos do dicionário são acessados usando chaves.
Dicionários são uma estrutura de dados implementada em Python, mais conhecida como matriz associativa. Um dicionário consiste em um conjunto de pares de chave -valor. Cada par de chave-valor mapeia a chave para o valor correspondente.
Criando um dicionário
Você pode definir um dicionário colocando uma lista separada por vírgulas de pares chave-valor entre chaves ( {} ). Um dois-pontos ( : ) separa cada chave de seus valores associados:
d = {
<chave>: <valor>,
<chave>: <valor>,
.
.
.
<chave>: <valor>
}
Você pode criar um dicionário com a função interna dict() . O argumento dict() deve ser uma sequência de pares chave-valor . Uma lista de tuplas funciona bem para isso:
d = ditado([
(<chave>, <valor>),
(<chave>, <valor),
.
.
.
(<chave>, <valor>)
])
Você pode exibir o conteúdo da lista na tela simplesmente com o comando print() . As entradas no dicionário são exibidas na ordem em que foram criadas.
|
Acessar elementos do dicionário
Para trabalhar com os elementos de um dicionário, eles devem estar acessíveis de alguma forma. Se você não pode obtê-los por índice, como pode obtê-los?
O valor é recuperado do dicionário especificando a chave correspondente entre colchetes ( [] ).
Por exemplo, exibindo a capital da Abkházia no dicionário criado na tarefa anterior:
print(dict_country['Abkhazia'])
Se você se referir a uma chave que não está no dicionário, o Python lançará uma exceção:
print(dict_country['Rússia'])
Traceback (última chamada mais recente):< /span> Arquivo "<...>", linha ..., em <módulo>
print(dict_country[& #39;Rússia'])
KeyError: 'Rússia' ;
Adicionando elementos ao dicionário
Adicionar uma entrada a um dicionário existente é tão simples quanto atribuir uma nova chave e valor:
dict_country['Rússia'] = 'Moscou'
Atualizando uma entrada de dicionário
Se você deseja atualizar uma entrada, basta atribuir um novo valor a uma chave existente:
dict_country['Rússia'] = 'Moscou'
Remover entrada do dicionário
Para excluir uma entrada, use o operador del , especificando a chave a ser excluída:
del dict_country[<key>]
Embora o acesso a elementos em um dicionário seja independente da ordem, o Python garante que a ordem dos elementos em um dicionário seja preservada. Quando exibidos, os elementos serão exibidos na ordem em que foram definidos e as teclas também serão repetidas nessa ordem. Os itens adicionados ao dicionário são adicionados no final. Se os elementos forem removidos, a ordem dos elementos restantes será preservada.
Deve ser lembrado que as chaves do dicionário, assim como os elementos do dicionário, podem ser de tipos diferentes. Um dicionário também pode ter o seguinte conteúdo:
d = {42: [2, 3, 6, 7], 2,78: 'bbb', Verdadeiro: 1}
print(d[42][1]) # 3 - para acessar elementos aninhados, use uma chave ou índice adicional
|
Métodos de dicionário integrados
Alguns dos métodos que você aprendeu sobre strings, listas e tuplas também funcionam com dicionários. Por exemplo, o método in (ou not in ) permite determinar se existe uma chave particular no dicionário.
E também permite que você percorra todas as chaves do dicionário.
para chave em dict_country:
imprimir(chave)
Você também pode iterar em pares chave-valor usando o método items() .
para chave, valor em dict_country.items():
print(chave, valor)
Outros métodos comumente usados estão listados na tabela.
Nome |
Método |
Descrição (exemplo) |
tamanho do dicionário |
len() |
retorna o número de elementos no dicionário
len(dict_country)
|
atualizando o dicionário |
atualizar() |
permite que você atualize vários pares de dicionários de uma só vez
dict_country.update({'Rússia': 'Moscou', 'Armênia': 'Yerevan'}) < /pre>
|
obter valor por chave |
get() |
permite obter o valor pela chave especificada. Pode ser usado para verificar se uma determinada chave existe em um dicionário
dict_country.get('Rússia') # retorna valor por chave,
# se não houver tal chave, retornará None
dict_country.get('Russa', 0) # se não houver chave Rússia, retornará 0
# (em vez de 0, você pode definir qualquer valor
|
remover chave |
pop() |
O método pop() remove uma chave e retorna seu valor correspondente.
dict_country.pop('Bahamas')
|
teclas do dicionário |
keys() |
O método keys() retorna uma coleção de chaves em um dicionário.
dict_country.keys()
|
valores do dicionário |
valores() |
O Method values() retorna uma coleção de valores em um dicionário.
dict_country.values()
|
pares de dicionário |
itens() |
O método items() retorna uma coleção de valores em um dicionário.
dict_country.items()
|
|