Python Tutorial - Dicionário de tipos de dados

Jinku Hu 30 janeiro 2023
  1. Crie um dicionário Python
  2. get() Método para acessar elementos do Dicionário Python
  3. Elementos de atualização do Python Dictionary
  4. Elementos de eliminação do Python Dictionary
  5. Métodos Aplicáveis ao Python Dictionary
  6. Outras Operações de Dicionário
  7. Iterate Through a Dictionary (Iterar através de um dicionário)
  8. Funções incorporadas com Dicionário
Python Tutorial - Dicionário de tipos de dados

Nesta seção, você aprenderá o dicionário em Python. Você aprenderá como criar um dicionário e como adicionar e excluir elementos de um dicionário.

Dicionário é um tipo de dado nativo em Python cujos dados/valores são pares de valores-chave. Um dicionário contém elementos não ordenados. Um pedaço de dado ou valor do dicionário pode ser recuperado se você conhecer a chave.

Crie um dicionário Python

Um dicionário pode ser criado utilizando braçadeiras encaracoladas {} com cada elemento a ser um par contendo chave e valor.

As chaves do dicionário Python devem ser do tipo de dados imutáveis, e os valores podem ser de qualquer tipo.

Considere o exemplo abaixo:

>>> x = {1:'blue', 'key':'pink'}
>>> print(type(x))
<class 'dict'>
>>> print('x[1] = ', x[1])      #using key to retrive value
x[1] =  blue
>>> print("x['key'] =", x['key']) #using key to retrive value
x['key'] = pink

Um dicionário também pode ser inicializado utilizando o método dict().

>>> dict({1: 'Blue', 2: 'Pink'})
{1: 'Blue', 2: 'Pink'}

get() Método para acessar elementos do Dicionário Python

Você pode acessar os valores de um dicionário usando as teclas. As chaves podem ser utilizadas tanto com o operador de acesso ao índice como feito acima ou com o método get().

Se a chave não for encontrada ao utilizar o método get(), None será retornado ao invés de um erro.

>>> d = dict({1: 'Blue', 2: 'Pink'})
>>> print(d[1])
Blue
>>> print(d.get(1))
Blue
>>> print(d[3])
Traceback (most recent call last):
  File "<pyshell#1>", line 1, in <module>
    d[3]
KeyError: 3
>>> print(d.get(3))
None

Elementos de atualização do Python Dictionary

O dicionário é mutável, para que você possa atualizar, adicionar e excluir elementos de um dicionário. Os elementos de um dicionário podem ser atualizados por meio do operador de atribuição.

Ao atualizar elementos com uma chave que não existe no dicionário, será criado um novo par de valores de chave, caso contrário, o valor correspondente será atualizado.

>>> d = dict({1: 'Blue', 2: 'Pink'})
>>> d[1] = 'Yellow'
>>> print(d)
{1: 'Yellow', 2: 'Pink'}
>>> d[3] = 'Black'
>>> print(d)
{1: 'Yellow', 2: 'Pink', 3: 'Black'}

Elementos de eliminação do Python Dictionary

A seguir estão algumas formas de apagar elementos do dicionário:

  1. pop() método: Ele irá remover e retornar o valor da chave correspondente.
  2. popitem() método: Irá remover e retornar um arbitrary (key, value) do dicionário.
  3. clear()método: Irá apagar todos os elementos do dicionário, mas não do dicionário.
  4. del keyword: Pode remover um método em particular ou o dicionário inteiro.

Considere o exemplo abaixo:

>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> print(d.pop(2))
Pink
>>> print(d)
{1: 'Blue', 3: 'Yellow', 4: 'Red'}
>>> print(d.popitem())
(4, 'Red')
>>> print(d)
{1: 'Blue', 3: 'Yellow'}
>>> del d[3]
>>> print(d)
{1: 'Blue'}
>>> d.clear()
>>> print(d)
{}
>>> del d
>>> print(d)
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    print(d)
NameError: name 'd' is not defined

Métodos Aplicáveis ao Python Dictionary

Considere a tabela abaixo:

Método Descrição
clear() limpar todos os itens do dicionário
copy() copiar um dicionário
fromkeys(seq[,v]) retornar um dicionário com elementos seq como chaves e valores será igual a v
get(key[,d]) obter o valor da chave e se não houver chave, d será devolvido.
items() devolver os itens do dicionário como (key, value)
keys() devolver as chaves de um dicionário
pop(key[,d]) remover um item correspondente à chave. Se a chave não existir, o valor correspondente ao d será devolvido. Se ambas d e key não existirem, um erro será levantado.
popitem() Ele retornará e removerá tanto a chave como o valor do dicionário.
setdefault(key[,d])setdefault(key[,d]) devolver o valor da chave. Se a chave não for encontrada, uma nova chave será criada com o valor d e d será devolvida.
update([other]) atualize o dicionário com chaves e valores como other.
values() retornar os valores de um dicionário

Outras Operações de Dicionário

Verificação de associação ao dicionário

A palavra-chave in verifica se um item é ou não um membro do dicionário.

Nota
As chaves de um dicionário são usadas na verificação dos membros, mas não os valores.
>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> print(2 in d)
True
>>> print(5 in d)
False

Iterate Through a Dictionary (Iterar através de um dicionário)

Você pode iterar através de um dicionário utilizando o laço for:

>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> for i in d:
		print(i)
1
2
3
4

Funções incorporadas com Dicionário

A seguir estão algumas das funções incorporadas que podem ser usadas com dicionários para realizar diferentes tarefas:

Funções Descrição
all() retornar True quando todas as chaves do dicionário são True. Ele também retorna True quando o dicionário estiver vazio.
any() retornar True quando qualquer uma das chaves do dicionário for True. Retorna False quando o dicionário está vazio.
cmp() comparar dois dicionários
len() devolver o número de itens de um dicionário ou o comprimento do dicionário.
sorted() devolver uma lista ordenada de chaves de um dicionário.

Considere o seguinte código:

>>> d = dict({1: 'Blue', 2: 'Pink', 3:'Yellow', 4:'Red'})
>>> print(len(d))
4
>>> print(sorted(d))
[1, 2, 3, 4]
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook