![Dicas para desenvolvedores que mudam de setor na indústria de software](https://optimuscloud.com.br/wp-content/uploads/2024/03/1710595325_Dicas-para-desenvolvedores-que-mudam-de-setor-na-industria-de-150x150.jpg)
Dicas para desenvolvedores que mudam de setor na indústria de software
16 de março de 2024![Brewster Kahle, do Internet Archive, sobre IA para bibliotecas digitais](https://optimuscloud.com.br/wp-content/uploads/2024/03/1710680804_Brewster-Kahle-do-Internet-Archive-sobre-IA-para-bibliotecas-digitais-150x150.png)
Brewster Kahle, do Internet Archive, sobre IA para bibliotecas digitais
17 de março de 2024Ao continuar sua jornada de aprendizagem do Python, você começará a trabalhar com conjuntos de dados maiores. Ao fazer isso, você deverá se familiarizar com os dicionários Python. Um dicionário Python é um tipo de dados composto semelhante a uma lista, mas varia em um aspecto fundamental: acesso.
Enquanto uma lista Python é acessada por sua posição, um dicionário é acessado por meio de uma chave. Os dicionários são estruturados em pares de valores-chave. A chave é um identificador exclusivo para um determinado dado:
Key1: Value1 Key2: Value2 Key3: Value3
Os dicionários são mutáveis, portanto podem ser alterados depois de criados. Eles não estão ordenados, o que significa que os itens dentro deles não são armazenados em nenhuma ordem específica. Esses dois recursos tornam os dicionários um método rápido e versátil de armazenamento e recuperação de dados em Python.
Você pode criar um dicionário simples como este:
album = { "title": "Signals", "band": "Rush", "release date": "September 9, 1982" }
Podemos acessar este dicionário por chave:
print(album("band"))
A saída dessa instrução de impressão seria:
Rush
Ou poderíamos imprimir a saída em uma ordem diferente de como os dados estão listados no dicionário, assim:
print(album("band"),album("title"))
A saída da instrução print acima seria:
Rush Signals
Outro recurso útil dos dicionários é que eles podem ser mesclados. Você pode pegar dois dicionários e mesclá-los em um único. Por exemplo, você pode ter dois dicionários como estes:
a1 = { "title": "Signals", "band": "Rush", "release date": "September 9, 1982" } a2 = { "label":"Anthem", "number of songs": "8", "highest rank": "1" }
Esses dicionários, a1 e a2, podem ser mesclados em um único dicionário que contém todas as informações de cada um. Claro, você pode mesclar mais de dois dicionários em Python — na verdade, você pode mesclar quantos precisar.
Muitas técnicas podem ser utilizadas para mesclar dicionários em Python, como o método update(), o operador duplo asterisco (**), o método chain(), a função ChainMap(), o operador de mesclagem (|) e o operador de atualização (|=). Vamos considerar como essas técnicas podem ser usadas para mesclar dados.
O método update()
O método update() é muito útil. Um de seus usos mais comuns é atualizar um dicionário. Digamos, por exemplo, que você tenha os dicionários anteriores, a1 e a2, e queira adicionar um single lançado e o tempo total de execução do álbum. Isso pode ser feito da seguinte maneira:
a1.update({"single": "New World Man"}) a2.update({"length": "43:12"})
Você pode usar update() para mesclar dicionários com uma linha de código como esta:
a1.update(a2)
A linha de código acima combinaria os dois dicionários em um. Se você usasse uma instrução print() no dicionário resultante, a saída seria:
{'title': 'Signals', 'band': 'Rush', 'release date': 'September 9, 1982', 'single': 'New World Man', 'label': 'Anthem', 'number of songs': '8', 'highest rank': '1', 'length': '43:12'}
O Operador Duplo Asterisco (**)
Nosso próximo método é o operador **, que pode descompactar e mesclar nossos pares de valores-chave em uma única variável. Ficaremos com nosso exemplo acima. Então nós temos:
a1 = { "title": "Signals", "band": "Rush", "release date": "September 9, 1982" } a2 = { "label":"Anthem", "number of songs": "8", "highest rank": "1" }
Usando uma única linha de código, vamos definir uma variável chamada sinais e então mesclar os dicionários a1 e a2 nessa variável:
signals = {**a1, **a2}
Podemos então imprimir a variável de sinais:
print(signals)
A saída será a mesma de quando usou o método update() acima:
{'title': 'Signals', 'band': 'Rush', 'release date': 'September 9, 1982', 'single': 'New World Man', 'label': 'Anthem', 'number of songs': '8', 'highest rank': '1', 'length': '43:12'}
O método chain()
Os métodos anteriores estão incluídos nas bibliotecas Python padrão. Para chain(), devemos primeiro importar chain com a biblioteca itertools, que é declarada assim:
from itertools import chain
Usando os mesmos dicionários, podemos definir nossa variável de sinais usando o método chain():
signals = dict(chain(a1.items(), a2.items()))
Isso encadeia todos os itens de a1 com os itens de a2. Você pode então imprimir o resultado:
print(signals)
A saída será a mesma de nossas mesclagens anteriores.
A função ChainMap()
Você pode simplificar o método chain() usando a função ChainMap(), que não requer o uso da função items(). Para usar ChainMap(), você deve primeiro importá-lo da biblioteca de coleções:
from collections import ChainMap
Então, em vez disso:
signals = dict(chain(a1.items(), a2.items()))
A linha de código seria escrita assim:
signals = dict(ChainMap(a1, a2))
A saída será a mesma.
O operador de mesclagem (|)
O operador de mesclagem é um dos métodos mais simples de mesclar dicionários. Usando os dicionários de exemplo anteriores, este operador pode ser utilizado da seguinte forma:
signals = a1 | a2
Como você provavelmente esperava, a saída será a mesma dos exemplos anteriores.
Podemos tornar esse código ainda mais simples usando o operador update (|=), que funciona de maneira muito parecida com o método update(). Com este operador, podemos mesclar a1 com a2 assim:
a1 |= a2 print(a1)
O acima produziria a mesma saída dos nossos exemplos anteriores.
E aí está – inúmeras maneiras de mesclar dicionários Python. Esse tipo de dados será útil de várias maneiras. Você ficará feliz em ter diversas abordagens para usar ao trabalhar com dados de dicionário.
A postagem Python: as muitas maneiras de mesclar um dicionário apareceu pela primeira vez em The New Stack.