English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial Básico Python

Controle de Fluxo Python

Funções do Python

Tipos de Dados do Python

Operações de Arquivos Python

Objetos e Classes Python

Data e Hora Python

Conhecimento Avançado Python

Manual de Referência Python

Dicionários (Dictionary) do Python

Neste artigo, você aprenderá tudo sobre o dicionário Python; como criar, acessar, adicionar e remover elementos, bem como vários métodos integrados.

O que é dicionário no Python?

O dicionário Python é um conjunto de itens não ordenados. Outros tipos de dados compostos têm apenas valores como elementos, enquanto o dicionário tem pares chave: valor (key: value).

O dicionário está otimizado para recuperar valores quando a chave é conhecida.

Como criar um dicionário?

Criar um dicionário é tão simples quanto colocar itens em chaves { } separados por vírgulas.

um item tem uma chave e um valor correspondente, representado por um par, chave: valor.

embora o valor possa ser qualquer tipo de dados e possa se repetir, a chave deve ser um tipo imutável (com elementos imutáveiscadeia de caracteres,númerooutupla)e devem ser únicas.

# Dicionário vazio
my_dict = {}
# Dicionário com chaves inteiras
my_dict = {1: 'apple', 2: 'ball'}
# Dicionário misturado de chaves
my_dict = {'name': 'John', 1: [2, 4, 3}]
# Usando dict()
my_dict = dict({1:'apple', 2:'ball'})
# Cada item como uma sequência de pares
my_dict = dict([(1,'apple'), (2,'ball')])

Como você pode ver acima, também podemos usar a função built-in dict() para criar um dicionário.

Como acessar elementos do dicionário?

Embora o índice seja usado juntamente com outros tipos de contêineres para acessar valores, o dicionário usa chaves. As chaves podem ser usadas dentro de colchetes ou juntamente com o método get().

A diferença de usar get() é que, se não encontrar a chave, ele retornará None, em vez de um erro KeyError.

Quando o programa é executado, a saída é:

Jack
26

Como alterar ou adicionar itens no dicionário?

O dicionário é mutável. Podemos usar o operador de atribuição para adicionar novos itens ou alterar os valores dos itens existentes.

Se a chave já existir, o valor será atualizado, caso contrário, será adicionado o novo par chave:valor ao dicionário.

Quando o programa é executado, a saída é:

{'name': 'Jack', 'age': 27}
{'name': 'Jack', 'age': 27, 'address': 'Downtown'}

Como deletar ou deletar elementos do dicionário?

Podemos usar o método pop() para deletar um item específico do dicionário. Este método usa a chave fornecida para remover o item e retorna o valor.

O método popitem() pode ser usado para deletar e retornar qualquer item (chave, valor) do dicionário. O método clear() pode ser usado para deletar todos os itens de uma vez.

Também podemos usar a palavra-chave del para deletar um item individual ou o dicionário inteiro.

Quando o programa é executado, a saída é:

16
{1: 1, 2: 4, 3: 9, 5: 25}
(1, 1)
{2: 4, 3: 9, 5: 25}
{2: 4, 3: 9}
{}

Métodos do dicionário Python

A seguir está uma lista dos métodos disponíveis para o dicionário. Alguns desses métodos já foram usados nos exemplos acima.

Métodos do dicionário Python
MétodoDescription
clear()Remove todos os itens do dicionário.
copy()Retorna uma cópia superficial do dicionário.
fromkeys(seq[,v])Usado para criar um novo dicionário, onde os elementos da sequência seq são os chaves do dicionário e v é o valor inicial para todas as chaves do dicionário.
get(key[,d])

Retorna o valor da chave. Se a chave não existir, retorna d (padrão None).

items()Retorna um array de tuplas itervisíveis (chave, valor).
keys()Retorna todas as chaves do dicionário.
pop(key[,d])Remova o item com a chave e retorne seu valor. Se não encontrar a chave, retorne d. Se não for fornecido d e não encontrar a chave, lance um erro KeyError.
popitem()}Remove e retorna qualquer item (chave, valor). Se o dicionário estiver vazio, lança um erro KeyError.
setdefault(key[,d])Retorna o valor da chave especificada, se o valor da chave não estiver no dicionário, retorna o valor especificado, o padrão é None.
update([other])Usando os valores deotherdas chaves/Atualiza o dicionário com pares de valores, substituindo chaves existentes.
values()Retorna todos os valores do dicionário em uma lista.

Aqui estão alguns exemplos do uso desses métodos.

marks = {}.fromkeys(['Math','English','Science'], 0)
# Saída: {'English': 0, 'Math': 0, 'Science': 0}
print(marks)
for item in marks.items():
    print(item)
# Saída: ['English', 'Math', 'Science']
list(sorted(marks.keys()))

Entendendo Dicionários do Python

A compreensão de dicionário é uma maneira elegante e concisa de criar novos dicionários a partir de iteradores em Python.

A compreensão de dicionário contém uma expressão de par (chave: valor), seguida de uma instrução for entre chaves {}.

Este é um exemplo de como criar um dicionário onde cada item é um par de números e seus quadrados.

squares = {x: x*x for x in range(6})
# Saída: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}
print(squares)

Este código é equivalente a

squares = {}
for x in range(6):
   squares[x] = x*x

A compreensão de dicionário pode escolher incluir maisforouinstrução if.

Uma instrução if opcional pode filtrar itens para formar um novo dicionário.

Aqui estão alguns exemplos de dicionários que contêm apenas itens ímpares.

odd_squares = {x: x*x for x in range(11) se x%2 == 1}
# Saída: {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
print(odd_squares)

Para mais informações, acessePython dictionary comprehension.

Outras operações de dicionário

Teste de membresia de dicionário

Podemos usar a palavra-chave para testar se a chave está no dicionário com 'in'. Note que o teste de membresia se aplica apenas às chaves, não aos valores.

squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
# Saída: True
print(1 in squares)
# Saída: True
print(2 not in squares)
# Testa a membresia apenas para chaves, não para valores
# Saída: False
print(49 in squares)

Percorrendo o dicionário

Usando o loop for, podemos percorrer cada chave do dicionário.

squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
for i in squares:
    print(squares[i])

Built-in dictionary functions

Built-in functions such as all(), any(), len(), cmp(), sort() are usually used with dictionary to perform different tasks.

Built-in dictionary functions
FunctionDescription
all()

If all keys of the dictionary are true (or the dictionary is empty), return True.

any()

If any key of the dictionary is true, return True. If the dictionary is empty, return False.

len()Return the length (number of items) of the dictionary.
cmp()Compare items of two dictionaries.
sorted()Return a new sorted list of keys from the dictionary.

Here are some examples of using built-in functions to process dictionaries.

squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
# Output: 5
print(len(squares))
# Output: [1, 3, 5, 7, 9]
print(sorted(squares))