Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> python

Dicionário Python

Dicionário Python


Neste tutorial, você aprenderá tudo sobre dicionários Python; como eles são criados, acessando, adicionando, removendo elementos deles e vários métodos internos.

Vídeo:Dicionários Python para armazenar pares de chave/valor

Dicionário Python é uma coleção não ordenada de itens. Cada item de um dicionário tem um key/value par.

Os dicionários são otimizados para recuperar valores quando a chave é conhecida.


Criando dicionário Python


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

Um item tem um key e um value correspondente que é expresso como um par (chave:valor ).

Embora os valores possam ser de qualquer tipo de dados e possam se repetir, as chaves devem ser do tipo imutável (string, número ou tupla com elementos imutáveis) e devem ser exclusivas.
# empty dictionary
my_dict = {}

# dictionary with integer keys
my_dict = {1: 'apple', 2: 'ball'}

# dictionary with mixed keys
my_dict = {'name': 'John', 1: [2, 4, 3]}

# using dict()
my_dict = dict({1:'apple', 2:'ball'})

# from sequence having each item as a pair
my_dict = dict([(1,'apple'), (2,'ball')])

Como você pode ver acima, também podemos criar um dicionário usando o dict() integrado função.

Acessando elementos do dicionário


Enquanto a indexação é usada com outros tipos de dados para acessar valores, um dicionário usa keys . As chaves podem ser usadas entre colchetes [] ou com o get() método.

Se usarmos os colchetes [] , KeyError é gerado caso uma chave não seja encontrada no dicionário. Por outro lado, o get() método retorna None se a chave não for encontrada.
# get vs [] for retrieving elements
my_dict = {'name': 'Jack', 'age': 26}

# Output: Jack
print(my_dict['name'])

# Output: 26
print(my_dict.get('age'))

# Trying to access keys which doesn't exist throws error
# Output None
print(my_dict.get('address'))

# KeyError
print(my_dict['address'])

Saída
Jack
26
None
Traceback (most recent call last):
  File "<string>", line 15, in <module>
    print(my_dict['address'])
KeyError: 'address'

Alterar e adicionar elementos do dicionário


Os dicionários são mutáveis. Podemos adicionar novos itens ou alterar o valor de itens existentes usando um operador de atribuição.

Se a chave já estiver presente, o valor existente será atualizado. Caso a chave não esteja presente, uma nova (chave:valor ) é adicionado ao dicionário.
# Changing and adding Dictionary Elements
my_dict = {'name': 'Jack', 'age': 26}

# update value
my_dict['age'] = 27

#Output: {'age': 27, 'name': 'Jack'}
print(my_dict)

# add item
my_dict['address'] = 'Downtown'

# Output: {'address': 'Downtown', 'age': 27, 'name': 'Jack'}
print(my_dict)

Saída
{'name': 'Jack', 'age': 27}
{'name': 'Jack', 'age': 27, 'address': 'Downtown'}

Removendo elementos do Dicionário


Podemos remover um item específico em um dicionário usando o pop() método. Este método remove um item com o key fornecido e retorna o value .

O popitem() pode ser usado para remover e retornar um (key, value) arbitrário par de itens do dicionário. Todos os itens podem ser removidos de uma só vez, usando o clear() método.

Também podemos usar o del palavra-chave para remover itens individuais ou o próprio dicionário inteiro.
# Removing elements from a dictionary

# create a dictionary
squares = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

# remove a particular item, returns its value
# Output: 16
print(squares.pop(4))

# Output: {1: 1, 2: 4, 3: 9, 5: 25}
print(squares)

# remove an arbitrary item, return (key,value)
# Output: (5, 25)
print(squares.popitem())

# Output: {1: 1, 2: 4, 3: 9}
print(squares)

# remove all items
squares.clear()

# Output: {}
print(squares)

# delete the dictionary itself
del squares

# Throws Error
print(squares)



Saída
16
{1: 1, 2: 4, 3: 9, 5: 25}
(5, 25)
{1: 1, 2: 4, 3: 9}
{}
Traceback (most recent call last):
  File "<string>", line 30, in <module>
    print(squares)
NameError: name 'squares' is not defined

Métodos de dicionário Python


Os métodos disponíveis com um dicionário são tabulados abaixo. Alguns deles já foram usados ​​nos exemplos acima.
Método Descrição
limpar() Remove todos os itens do dicionário.
copiar() Retorna uma cópia superficial do dicionário.
fromkeys(seq[, v]) Retorna um novo dicionário com chaves de seq e valor igual a v (o padrão é None ).
get(chave[,d]) Retorna o valor da chave . Se a chave não existe, retorna d (o padrão é None ).
itens() Retorne um novo objeto dos itens do dicionário no formato (chave, valor).
chaves() Retorna um novo objeto das chaves do dicionário.
pop(chave[,d]) Remove o item com a chave e retorna seu valor ou d if chave Não foi encontrado. Se d não é fornecido e a chave não for encontrado, ele gera KeyError .
popitem() Remove e retorna um item arbitrário (chave, valor ). Aumenta KeyError se o dicionário estiver vazio.
setdefault(chave[,d]) Retorna o valor correspondente se a chave está no dicionário. Caso contrário, insere a chave com um valor de d e retorna d (o padrão é None ).
atualizar([outro]) Atualiza o dicionário com os pares chave/valor de other , substituindo as chaves existentes.
valores() Retorna um novo objeto dos valores do dicionário

Aqui estão alguns exemplos de casos de uso desses métodos.
# Dictionary Methods
marks = {}.fromkeys(['Math', 'English', 'Science'], 0)

# Output: {'English': 0, 'Math': 0, 'Science': 0}
print(marks)

for item in marks.items():
    print(item)

# Output: ['English', 'Math', 'Science']
print(list(sorted(marks.keys())))

Saída
{'Math': 0, 'English': 0, 'Science': 0}
('Math', 0)
('English', 0)
('Science', 0)
['English', 'Math', 'Science']

Compreensão do dicionário Python


A compreensão do dicionário é uma maneira elegante e concisa de criar um novo dicionário a partir de um iterável em Python.

A compreensão do dicionário consiste em um par de expressões (chave:valor ) seguido por um for declaração dentro de chaves {} .

Aqui está um exemplo para fazer um dicionário com cada item sendo um par de um número e seu quadrado.
# Dictionary Comprehension
squares = {x: x*x for x in range(6)}

print(squares)

Saída
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Este código é equivalente a
squares = {}
for x in range(6):
    squares[x] = x*x
print(squares)

Saída
{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Uma compreensão de dicionário pode opcionalmente conter mais instruções for ou if.

Um if opcional pode filtrar itens para formar o novo dicionário.

Aqui estão alguns exemplos para fazer um dicionário apenas com itens ímpares.
# Dictionary Comprehension with if conditional
odd_squares = {x: x*x for x in range(11) if x % 2 == 1}

print(odd_squares)

Saída
{1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

Para aprender mais compreensões de dicionário, visite Compreensão do Dicionário Python.

Outras operações do dicionário

Teste de associação ao dicionário


Podemos testar se um key está em um dicionário ou não está usando a palavra-chave in . Observe que o teste de associação é apenas para o keys e não para o values .
# Membership Test for Dictionary Keys
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

# Output: True
print(1 in squares)

# Output: True
print(2 not in squares)

# membership tests for key only not value
# Output: False
print(49 in squares)

Saída
True
True
False

Iterando por meio de um dicionário


Podemos percorrer cada chave em um dicionário usando um for ciclo.
# Iterating through a Dictionary
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
for i in squares:
    print(squares[i])

Saída
1
9
25
49
81

Funções internas do dicionário


Funções integradas como all() , any() , len() , cmp() , sorted() , etc. são comumente usados ​​com dicionários para realizar diferentes tarefas.
Função Descrição
todos() Retornar True se todas as chaves do dicionário forem True (ou se o dicionário estiver vazio).
qualquer() Retornar True se alguma chave do dicionário for verdadeira. Se o dicionário estiver vazio, retorne False .
len() Retorne o comprimento (o número de itens) no dicionário.
cmp() Compara itens de dois dicionários. (Não disponível em Python 3)
classificado() Retorne uma nova lista ordenada de chaves no dicionário.

Aqui estão alguns exemplos que usam funções internas para trabalhar com um dicionário.
# Dictionary Built-in Functions
squares = {0: 0, 1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

# Output: False
print(all(squares))

# Output: True
print(any(squares))

# Output: 6
print(len(squares))

# Output: [0, 1, 3, 5, 7, 9]
print(sorted(squares))

Saída
False
True
6
[0, 1, 3, 5, 7, 9]

python

  1. Tipos de dados Python
  2. Operadores Python
  3. Instrução de passagem do Python
  4. Argumentos da função Python
  5. Iteradores Python
  6. Fechamentos Python
  7. Data e hora do Python
  8. Python - Visão geral
  9. Python - Números
  10. Python - Strings