CodeGym /Cursos /Python SELF PT /Trabalho com Dicionário

Trabalho com Dicionário

Python SELF PT
Nível 11, Lição 2
Disponível

2.1 Obtendo a quantidade de elementos

Em Python, para obter a quantidade de elementos em um dicionário, usamos a função embutida len(). Essa função retorna a quantidade de pares chave-valor no dicionário. Ou a quantidade de chaves, se preferir.

Exemplo de uso da função:


person = {"name": "Alice", "age": 25, "city": "New York"}
num_elements = len(person)
print(num_elements)  # Saída: 3 

Neste exemplo, temos um dicionário person com três elementos. A função len(person) retorna a quantidade de elementos no dicionário, que é 3.

Verificando se o dicionário está vazio

Você pode usar a função len() para verificar se um dicionário está vazio. Isso é útil em condições e loops.


empty_dict = {}
print(len(empty_dict))  # Saída: 0

person = {"name": "Alice", "age": 25, "city": "New York"}

if len(person) > 0:
    print("Dicionário não está vazio")
else:
    print("Dicionário está vazio")

Dicionário com estruturas aninhadas

A função len() considera apenas a quantidade de chaves de nível superior, independentemente do que está contido como valores.


complex_dict = {
    name: "Alice",
    details: {
        age: 25,
        city: "New York"
    },
    hobbies: ["reading", "traveling"]
}
print(len(complex_dict))  # Saída: 3

Neste exemplo temos um dicionário com estruturas de dados aninhadas. len(complex_dict) retorna 3, já que no nível superior há três chaves: "name", "details" e "hobbies".

len() ignora as chaves dentro de estruturas de dados aninhadas, como "age" e "city" dentro do dicionário "details", porque len() conta apenas as chaves de nível superior. Se precisar contar todos os elementos, incluindo estruturas aninhadas, será necessário usar um método recursivo. Mas isso fica pra outra hora.

2.2 Determinando o tipo

A função type() em Python é usada para determinar o tipo de um objeto. Ao trabalhar com dicionários, type() permite definir que um objeto é uma instância da classe dict. Isso pode ser útil em vários cenários, por exemplo, para verificar o tipo de dados antes de realizar operações sobre o dicionário.

Exemplos de uso:

Verificação de tipo de objeto


person = {"name": "Alice", "age": 25, "city": "New York"}
print(type(person))  # Saída: <class 'dict'>

Neste exemplo, criamos um dicionário person e usamos type para determinar seu tipo. A função retorna <class 'dict'>, indicando que person é um dicionário.

Verificação condicional de tipo de dado

A função type() pode ser usada para verificar o tipo de dados em expressões condicionais, permitindo efetuar certas operações apenas para objetos do tipo dict.


data = {"name": "Alice", "age": 25, "city": "New York"}

if type(data) is dict:
    print("É um dicionário.")
else:
    print("Não é um dicionário.")

Neste exemplo, a expressão condicional verifica se data é um dicionário e executa o código apropriado.

A função type() pode ser usada dentro de funções customizadas para verificar o tipo dos argumentos, garantindo que a função lide com o tipo correto de dados.

Exemplo:


def process_data(data):
    if type(data) is dict:
        print("Processando dicionário...")
        # Realização de operações sobre o dicionário
    else:
        print("Erro: esperado um dicionário.")

data = {"name": "Alice", "age": 25, "city": "New York"}
process_data(data)

Neste exemplo, a função process_data verifica se o argumento data é um dicionário e realiza as operações apropriadas somente para dicionários.

2.3 Obtendo um elemento

Trabalhar com elementos de um dicionário é parecido com trabalhar com uma lista ou tupla — também usaremos colchetes. Só que em vez do índice do elemento nos colchetes, você precisa especificar a chave. A chave de um dicionário pode ser qualquer elemento imutável: string, número ou, por exemplo, uma tupla.


dicionário[chave]

Exemplo:


person = {"name": "Alice", "age": 25, "city": "New York"}
name = person["name"]
print(name)  # Saída: Alice

Se a chave não existir, ocorrerá um erro:


person = {"name": "Alice", "age": 25, "city": "New York"}
person["country"]  # ocorrerá erro KeyError: 'country'

Método get(key, def_value)

O método get() permite obter um valor de maneira segura por chave. Se a chave não existir, o método retorna o valor padrão (None, se o valor padrão não for especificado). Isso evita a ocorrência de exceção KeyError.


person = {"name": "Alice", "age": 25, "city": "New York"}
age = person.get("age")
print(age)  # Saída: 25

country = person.get("country", "USA")
print(country)  # Saída: USA

O segundo parâmetro do método get() pode ser o valor que você deseja retornar se a chave desejada não existir no dicionário.

O método setdefault() funciona de forma semelhante ao método get(), mas se a chave não estiver no dicionário, o método não apenas retorna o valor padrão, mas também adiciona ao dicionário um novo par chave: valor.


person = {"name": "Alice", "age": 25}
city = person.setdefault("city", "New York")
print(city)  # Saída: New York
print(person)  # Saída: {'name': 'Alice', 'age': 25, 'city': 'New York'}
2
Tarefa
Python SELF PT, nível 11, lição 2
Bloqueado
Verificação de vazio.
Verificação de vazio.
2
Tarefa
Python SELF PT, nível 11, lição 2
Bloqueado
Três maneiras de explorar um dicionário.
Três maneiras de explorar um dicionário.
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION