Coleção em Python: tudo o que você precisa saber

Publicados: 2021-04-09

Python é uma linguagem de programação poderosa. É modular e conhecido por sua simplicidade, reutilização e facilidade de manutenção. Na programação modular, uma tarefa de programação grande e complexa é dividida em módulos menores.

Este artigo fala sobre a coleção de módulos em Python . Collection melhora as funcionalidades e é a alternativa aos contêineres dict, list, set e tuple integrados de uso geral do Python.

'Listas, tuplas, conjuntos e dicionários Python são estruturas de dados definidas pelo usuário, e cada uma vem com seu próprio conjunto de vantagens e desvantagens.'

Índice

Módulo Python

Um módulo é um arquivo contendo definições e instruções Python que implementam um conjunto de funções. O comando import é usado para importar módulos de outros módulos. Python tem vários módulos embutidos.

Vamos agora ao cerne do artigo e aprender a coleção de módulos em Python em detalhes.

Coleção em Python

Collection em Python é o contêiner que armazena coleções de dados. List, set, tuple, dict, etc., são coleções embutidas em Python . Existem seis módulos de coleção em Python que oferecem estruturas de dados adicionais para armazenar coleções de dados. Esses módulos Python aprimoram as operações da coleção de contêineres integrados.

Agora discutiremos os diferentes contêineres fornecidos pela coleção no módulo Python.

1. Dito Ordenado

O OrderedDict() funciona de forma semelhante ao objeto de dicionário onde as chaves mantêm a ordem em que são inseridas. Se você quiser inserir a chave novamente, o valor anterior será substituído e a posição da chave não será alterada.

Exemplo:

importar OrderedDict de coleções

d1=coleções.OrderedDict()

d1['A']=1

d1['B']=2

d1['C']=3

d1['D']=4

para x,v em d1.items():

imprimir (x,v)

Saída:

A 1

B 2

C 3

D 4

2. deque()

O Python deque() é uma lista otimizada que adiciona e remove itens de ambos os extremos.

Exemplo:

importar deque de coleções

lista1 = [“a”,”b”,”c”]

deq = deque(lista1)

print(deq)

Saída:

deque(['a', 'b', 'c'])

3. Contador

Os contadores são o subgrupo dos objetos de dicionário que contam objetos hashable. A função counter recebe a entrada iterável como argumento e retorna uma saída como um Dicionário. A chave é um elemento iterável e o valor é o número total de vezes que um elemento está presente no iterável.

Exemplo:

importar contador de coleções

c = Contador()

lista1 = [1,2,3,4,5,7,8,5,9,6,10]

Contador(lista1)

Contador({1:5,2:4})

lista1 = [1,2,4,7,5,1,6,7,6,9,1]

c = Contador(lista1)

imprimir (c[1])

Saída:

3

Funções de contador adicionais

1. Função elementos()

A função elements() retorna uma lista dos elementos presentes no objeto Counter .

Exemplo:

c = Contador({1:4,2:3})

print(lista(c.elementos()))

Saída:

[1,1,1,1,2,2,2]

Aqui, um objeto Counter é criado usando um argumento de dicionário. O número de contagens para 1 é 4 e para 2 é 3. A função elements() é chamada com o objeto c retornando um iterador.

2. Função most_common()

A função Counter() Python retorna um dicionário não ordenado enquanto a função most_common() o classifica de acordo com o número de contagem de cada elemento.

Exemplo:

lista = [1,2,3,4,5,5,5,7,3]

c = contador(lista)

print(c.most_common())

Saída:

[((5,3), (1,1),(2,1),(3,2),(4,1), (7,1))]

Aqui, a função most_common retorna uma lista ordenada de acordo com a contagem dos elementos. 5 vem três vezes; portanto, vem primeiro, como o elemento da lista.

3. Função Subtrair()

O subtrair() considera argumentos iteráveis ​​ou de mapeamento e subtrai a contagem de elementos com esse argumento.

Exemplo:

c = contador({1:2,2:3})

saída = {1:1,2:1}

c.subtrair (saída)

imprimir(c)

Saída:

Contador({1:1,2:2})

4. Objetos Chainmap

A classe Chainmap agrupa vários dicionários para criar uma única lista. O dicionário vinculado é público e pode ser acessado pelo atributo map.

Exemplo:

Importar chainmap de coleções

dict1 = { 'w': 1, 'x': 2}

dict2 = {'y' : 3. 'z': 4 }

chain_map = ChainMap(dict1,dict2)

print(chain_map.maps)

Saída:

[{'x' : 2, 'w' :1}, {'y' : 3, 'x':4}]

5. Dupla Nomeada

A função namedtuple() retorna um objeto de tupla com nomes para cada posição na tupla. Ele foi introduzido para eliminar o problema de lembrar o índice de cada campo de um objeto de tupla.

Exemplo:

Importar namedtuple de coleções

Aluno = namedtuple ('Aluno','nome, sobrenome, idade')

s1 = Aluno('Tom', 'Alterar', '12')

print(s1.nome)

Saída:

Aluno(nome='Tom', sobrenome='Alterar', idade='12')

Neste exemplo, você pode acessar os campos de qualquer instância de uma classe.

6. Dito Padrão

O Python defaultdict() é um objeto de dicionário e é uma subclasse da classe dict. Ele fornece todos os métodos de dicionário, mas recebe o primeiro argumento como um tipo de dados padrão. Ele gera um erro quando você acessa uma chave inexistente.

Exemplo:

importar defaultdict de coleções

num = defaultdict(int)

num['um'] = 1

num['dois'] = 2

print (num['três'])

Saída:

0

Conclusão

A coleção em Python é conhecida por trazer melhorias ao módulo de coleção do Python. As coleções foram introduzidas na versão 2.4 do Python. Muitas mudanças e melhorias podem ser esperadas nas versões subsequentes. Neste artigo, explicamos as seis coleções existentes em Python com exemplos e a forma como são implementadas na linguagem. Eles são um dos conceitos mais importantes do ponto de vista de um aluno.

Aprenda coleção em Python com o programa exclusivo de bacharel em aplicativos de computador do upGrad . Este programa abrange as habilidades necessárias para entrar no setor de TI.

Se você está curioso para aprender sobre python, Data Science, confira o Programa PG Executivo em Ciência de Dados do IIIT-B & upGrad, que é criado para profissionais que trabalham e oferece mais de 10 estudos de caso e projetos, workshops práticos práticos, orientação com especialistas do setor , 1-on-1 com mentores do setor, mais de 400 horas de aprendizado e assistência de trabalho com as principais empresas.

Aprenda cursos de ciência de dados online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Por que precisamos do módulo de coleção em Python?

O Python já possui 4 tipos de dados de coleta integrados. Estes são lista, tupla, dicionário e conjunto. No entanto, esses contêineres de dados são usados ​​para fins gerais.
Os pontos a seguir destacam as principais vantagens de usar o módulo de coleta em relação aos contêineres de dados integrados.
O módulo de coleção fornece a versão especializada desses contêineres, como namedtuple, OrderedDict, defaultdict, chainmap, counter e muito mais.
Sendo mais otimizados, esses contêineres provam ser uma alternativa melhor aos contêineres de dados tradicionais, como lista, tupla e conjunto.
O módulo de coleta é eficiente para lidar com dados estruturados.
Os contêineres de dados como namedtuple consomem menos memória e fornecem operações aprimoradas para armazenar e gerenciar os dados.

Qual é a diferença entre um dicionário e um dicionário ordenado em Python?

Dicionário Python ou “Dict” é uma estrutura de dados embutida do Python que é usada para armazenar uma coleção desordenada de elementos. Ao contrário de outras estruturas de dados Python que armazenam valores únicos, a estrutura de dados do dicionário armazena pares chave-valor onde cada chave é única. Ele não lembra a ordem de inserção dos pares chave-valor e itera pelas chaves.
Por outro lado, um Dicionário Ordenado ou OrderedDict mantém um controle da ordem de inserção dos pares chave-valor. Ele também consome mais memória do que um dicionário regular em Python devido à sua implementação de lista duplamente vinculada. Se você excluir e reinserir a mesma chave, ela será inserida em sua posição original, pois um OrderedDict lembra o pedido de inserção.

Quais são as várias operações de namedtuple?

A namedtuple em Python executa várias operações. A seguir está uma lista de algumas das operações mais comuns executadas pela namedtuple.
1. Operações de Acesso: Acesso por índice: Os elementos em uma namedtupla podem ser acessados ​​por seus índices, diferentemente de um dicionário. Acesso pelo nome da chave: A forma alternativa de acessar os elementos é pelo nome da chave.
2. Operações de conversão: make(): Esta função retorna uma tupla nomeada. _asadict(): Esta função retorna um dicionário ordenado que é construído a partir dos valores mapeados. usando o operador “**” (estrela dupla): Esta função converte um dicionário Python em uma tupla nomeada.
3. Operações Adicionais: _fileds(): Esta função retorna todos os nomes de chave da tupla nomeada fornecida. _replace(): Esta função recebe um nome de chave como argumento e altera os valores mapeados para ele.