Article image
Silvia Rocha
Silvia Rocha10/01/2024 11:39
Compartilhe

Para que serve a estrutura de dados 'dictionary' no Python e como usá-la

    O que são estruturas de dados:

    Usamos estruturas de dados em programação para organizar e agregar os dados que serão processados. Devemos escolher o tipo de estrutura mais adequada para o processamento que será realizado, de acordo com o objetivo do programa que estamos desenvolvendo. 

    Os dicionários Python são uma coleção que armazena valores associados a chaves de busca, de maneira similar a um dicionário de língua inglesa, por exemplo. 

    Para buscar a definição de uma palavra, eu utilizo esta palavra como chave de busca. Não há duas ocorrências da mesma chave de busca num dicionário Python, assim como não há duas ocorrências da mesma palavra num dicionário de qualquer idioma. 

    Se você já estudou uma linguagem de programação, sabe que há outras estruturas de dados como as listas e as tuplas. Então, quais são as situações em que o uso do dicionário Python se mostra mais adequado? 

    Vamos primeiro definir o que é um dicionário Python: 

    A documentação oficial da linguagem Python, disponível no site https://docs.python.org, é a principal fonte para obtermos as definições e casos de uso dos seus recursos. Utilize-a sempre que precisar os detalhes de sintaxe de qualquer funcionalidade do Python. 

    No Python, os dicionários são delimitados por chaves: {}. 

    No exemplo abaixo, o dicionário contatos contém os telefones das pessoas e as chaves de busca são os nomes das pessoas. 

    > contatos = {‘Ana Silva’=555222, ‘Mario Borges’=333444}
    

    É possível criar um dicionário utilizando-se o construtor dict() diretamente a partir de sequências de pares chave-valor: 

    > dict([('Ana Silva', 555222), ('Mario Borges', 333444)]) 
    {‘Ana Silva’=555222, ‘Mario Borges’=333444} 
    

    Há outras formas de criar dicionários, como nos exemplos a seguir: 

    > {x: x*2 for x in (2, 4, 6)} 
    {2: 4, 4: 8, 6: 12} 
    
    > dict(ana=1123, luiz=3345, sueli=6678) 
    {'ana': 1123, 'luiz': 3345, 'sueli': 6678} 
    

    Usos: 

    É comum usar o dicionário Python para lidar com dados armazenados em bancos de dados ou com associações de dados e referências para consulta posterior.  

    Por ser um objeto multidimensional, o dicionário Python pode conter valores diversos, permitindo a representação de informações mais complexas. 

    Além disso, o uso de chaves de busca, ao invés de índices numéricos, aumenta a legibilidade dos programas. 

    Vejamos alguns métodos nativos do Python para manipular seus dicionários: 

    • dict.keys: retorna um conjunto com as chaves de um dicionário.  
    • dict.values: retorna um conjunto com os valores de um dicionário. 
    • len(dict): retorna a quantidade de pares chave-valor contidos num dicionário. 
    • del dict[chave]: remove o par chave:valor cuja chave é igual à indicada entre os colchetes. 

    Exemplos: 

    Código: 

    sapatos = {'nike': 2, 'adidas': 1, 'newbalance': 1, 'asics': 500} 
    chaves = sapatos.keys() 
    valores = sapatos.values() 
    lista_de_chaves = list(sapatos) 
    qtde_sapatos = len(sapatos) 
    valor_adidas = sapatos['adidas'] 
    print(chaves) 
    print(valores) 
    print(lista_de_chaves) 
    print(qtde_sapatos) 
    print(valor_adidas) 
    

    Resultado:

    dict_keys(['nike', 'adidas', 'newbalance', 'asics']) 
    dict_values([2, 1, 1, 500]) 
    ['nike', 'adidas', 'newbalance', 'asics'] 
    4 
    1 
    

    Agora, Suponha que meu programa precisa armazenar as siglas e os nomes das filiais de uma empresa. A figura a seguir mostra uma sequência de comandos em Python criada no Google Colaboratory (Google Colab). É uma maneira de rodar comandos em Python diretamente no navegador, utilizando o formato Jupyter Notebook. Veja mais sobre isso em Olá, este é o Colaboratory.  

    image

    Conclusão:

    Os dicionários Python são objetos que permitem a representação de estruturas de dados complexas e a pesquisa do conteúdo através de chaves que podem ser qualquer tipo imutável, como strings ou números.

     

    Saiba mais sobre os dicionários e outras estruturas de dados do Python em: 

    Compartilhe
    Comentários (1)
    Silvia Rocha
    Silvia Rocha - 10/01/2024 12:36

    Como não estou conseguindo editar o artigo, vou colocar abaixo algumas correções.

    Onde lê-se:

    "É possível criar um dicionário utilizando-se o construtor dict() diretamente a partir de sequências de pares chave-valor: "

    > dict([('Ana Silva', 555222), ('Mario Borges', 333444)]) 
    {‘Ana Silva’=555222, ‘Mario Borges’=333444} 
    

    A última linha deve ser corrigida para:

    {‘Ana Silva’:555222, ‘Mario Borges’:333444}