Resumo : neste tutorial, você aprenderá sobre o Dicionário Python, que permite organizar informações relacionadas.
Introdução ao tipo de dicionário Python
Um dicionário Python é uma coleção de pares chave-valor onde cada chave está associada a um valor.
Um valor no par chave-valor pode ser um número , uma string , uma lista , uma tupla ou até mesmo outro dicionário. Na verdade, você pode usar um valor de qualquer tipo válido em Python como o valor no par chave-valor.
Uma chave no par chave-valor deve ser imutável. Em outras palavras, a chave não pode ser alterada, por exemplo, um número, uma string, uma tupla, etc.
Python usa chaves {}
para definir um dicionário. Dentro das chaves, você pode colocar zero, um ou vários pares de valores-chave.
O exemplo a seguir define um dicionário vazio:
empty_dict = {}
Linguagem de código: Python ( python )
Normalmente, você define um dicionário vazio antes de um loop, seja for loop ou while loop . E dentro do loop, você adiciona pares de valores-chave ao dicionário.
Para encontrar o tipo de um dicionário, você usa a type()
função da seguinte forma:
empty_dict = {}
print(type(empty_dict))
Linguagem de código: Python ( python )
Saída:
<class 'dict'>
Linguagem de código: Python ( python )
O exemplo a seguir define um dicionário com alguns pares de valores-chave:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
Linguagem de código: Python ( python )
O person
dicionário possui cinco pares de valores-chave que representam nome, sobrenome, idade, cores favoritas e status ativo.
Acessando valores em um Dicionário
Para acessar um valor por chave de um dicionário, você pode usar a notação de colchetes ou o get()
método.
1) Usando notação de colchetes
Para acessar um valor associado a uma chave, você coloca a chave entre colchetes:
dict[key]
Linguagem de código: Python ( python )
A seguir mostramos como obter os valores associados à chave first_name
e last_name
no person
dicionário:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
print(person['first_name'])
print(person['last_name'])
Linguagem de código: Python ( python )
Saída:
John
Doe
Linguagem de código: Python ( python )
2) Usando o método get()
Se você tentar acessar uma chave que não existe, receberá um erro. Por exemplo:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
ssn = person['ssn']
Linguagem de código: Python ( python )
Erro:
Traceback (most recent call last):
File "dictionary.py", line 15, in <module>
ssn = person['ssn']
KeyError: 'ssn'
Linguagem de código: Python ( python )
Para evitar esse erro, você pode usar o get()
método do dicionário:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
ssn = person.get('ssn')
print(ssn)
Linguagem de código: Python ( python )
Saída:
None
Linguagem de código: Python ( python )
Se a chave não existir, o get()
método retornará None
em vez de lançar um KeyError
. Observe que isso None
significa que não existe valor.
O get()
método também retorna um valor padrão quando a chave não existe, passando o valor padrão para seu segundo argumento.
O exemplo a seguir retorna a '000-00-0000'
string se a ssn
chave não existir no person
dicionário:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
ssn = person.get('ssn', '000-00-0000')
print(ssn)
Linguagem de código: Python ( python )
Saída:
000-00-0000
Linguagem de código: Python ( python )
Adicionando novos pares de valores-chave
Como um dicionário tem uma estrutura dinâmica, você pode adicionar novos pares de valores-chave a ele a qualquer momento.
Para adicionar um novo par de valores-chave a um dicionário, especifique o nome do dicionário seguido pela nova chave entre colchetes junto com o novo valor.
O exemplo a seguir adiciona um novo par de valores-chave ao person
dicionário:
person['gender'] = 'Famale'
Linguagem de código: Python ( python )
Modificando valores em um par de valores-chave
Para modificar um valor associado a uma chave, especifique o nome do dicionário com a chave entre colchetes e o novo valor associado à chave:
dict[key] = new_value
Linguagem de código: Python ( python )
O exemplo a seguir modifica o valor associado ao age
do person
dicionário:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
person['age'] = 26
print(person)
Linguagem de código: Python ( python )
Saída:
{'first_name': 'John', 'last_name': 'Doe', 'age': 26, 'favorite_colors': ['blue', 'green'], 'active': True}
Linguagem de código: Python ( python )
Removendo pares de valores-chave
Para remover um par chave-valor por uma chave, você usa a del
instrução:
del dict[key]
Linguagem de código: Python ( python )
Nesta sintaxe, você especifica o nome do dicionário e a chave que deseja remover.
O exemplo a seguir remove a chave 'active'
do person
dicionário:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
del person['active']
print(person)
Linguagem de código: Python ( python )
Saída:
{'first_name': 'John', 'last_name': 'Doe', 'age': 25, 'favorite_colors': ['blue', 'green']}
Linguagem de código: Python ( python )
Percorrendo um dicionário
Para examinar um dicionário, você pode usar um for
loop para iterar sobre seus pares chave-valor, ou chaves, ou valores.
Observe que desde o Python 3.7, ao percorrer um dicionário, você obterá os pares de valores-chave na mesma ordem em que os inseriu.
1) Loop de todos os pares de valores-chave em um dicionário
O dicionário Python fornece um método chamado items()
que retorna um objeto que contém uma lista de pares de valores-chave como tuplas em uma lista.
Por exemplo:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
print(person.items())
Linguagem de código: Python ( python )
Saída:
dict_items([('first_name', 'John'), ('last_name', 'Doe'), ('age', 25), ('favorite_colors', ['blue', 'green']), ('active', True)])
Linguagem de código: Python ( python )
Para iterar sobre todos os pares de valores-chave em um dicionário, você usa um for
loop com duas variáveis key
e value
descompacta cada tupla da lista:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
for key, value in person.items():
print(f"{key}: {value}")
Linguagem de código: Python ( python )
Saída:
first_name: John
last_name: Doe
age: 25
favorite_colors: ['blue', 'green']
active: True
Linguagem de código: Python ( python )
Observe que você pode usar qualquer nome de variável no for
loop. Eles não precisam ser o key
e value
.
2) Percorrer todas as chaves de um dicionário
Às vezes, você só deseja percorrer todas as chaves de um dicionário. Neste caso, você pode usar um for
loop com o keys()
método.
O keys()
método retorna um objeto que contém uma lista de chaves no dicionário.
Por exemplo:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
for key in person.keys():
print(key)
Linguagem de código: Python ( python )
Saída:
first_name
last_name
age
favorite_colors
active
Linguagem de código: Python ( python )
Na verdade, percorrer todas as chaves é o comportamento padrão ao percorrer um dicionário. Portanto, você não precisa usar o keys()
método.
O código a seguir retorna a mesma saída do exemplo acima:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
for key in person:
print(key)
Linguagem de código: Python ( python )
3) Percorrer todos os valores em um dicionário
O values()
método retorna uma lista de valores sem nenhuma chave.
Para percorrer todos os valores em um dicionário, você usa um loop for com o values()
método:
person = {
'first_name': 'John',
'last_name': 'Doe',
'age': 25,
'favorite_colors': ['blue', 'green'],
'active': True
}
for value in person.values():
print(value)
Linguagem de código: Python ( python )
Saída:
John
Doe
25
['blue', 'green']
True
Linguagem de código: Python ( python )
Resumo
- Um dicionário Python é uma coleção de pares chave-valor, onde cada chave possui um valor associado.
- Use colchetes ou
get()
método para acessar um valor por sua chave. - Use a
del
instrução para remover um par chave-valor pela chave do dicionário. - Use
for
loop para iterar chaves, valores e pares de valores-chave em um dicionário.