Coleções em Python: tudo o que você precisa saber sobre coleções em Python



Este blog cobrirá os tipos de dados de coleção integrados em python junto com o módulo de coleções com todas as estruturas de dados de coleção especializadas.

A linguagem de programação Python tem quatro tipos de coleta de dados- Lista , tupla, conjuntos e . Mas também vem com um módulo integrado conhecido como coleções, que possui estruturas de dados especializadas que basicamente cobre as deficiências dos quatro tipos de dados. Neste blog, examinaremos cada uma dessas estruturas de dados especializadas em detalhes. A seguir estão os assuntos envolvidos neste blog:

O que são coleções em Python?

Coleções em python são basicamente tipos de dados de contêiner, ou seja, listas, conjuntos, tuplas, dicionário. Eles têm características diferentes com base na declaração e no uso.





  • Uma lista é declarada entre colchetes, é mutável, armazena valores duplicados e os elementos podem ser acessados ​​por meio de índices.

  • Uma tupla é ordenada e imutável por natureza, embora entradas duplicadas possam estar lá dentro de uma tupla.



  • Um conjunto não está ordenado e é declarado entre colchetes. Ele não está indexado e também não contém entradas duplicadas.

  • Um dicionário tem pares de valores-chave e é mutável por natureza. Usamos colchetes para declarar um dicionário.

Esses são os tipos de dados de contêiner integrados de uso geral do Python. Mas, como todos sabemos, python sempre tem algo a mais a oferecer. Ele vem com um módulo python denominado coleções que possui estruturas de dados especializadas.



Estruturas de dados de coleta especializadas

Coleções módulo em python implementa estruturas de dados especializadas que fornecem alternativa aos tipos de dados de contêiner integrados do Python. A seguir estão as estruturas de dados especializadas no módulo de coleções.

  1. namedtuple ()
  2. e
  3. Mapa de cadeia
  4. Contador
  5. OrderedDict
  6. padrão
  7. UserDict
  8. Lista de usuários
  9. UserString

namedtuple ()

Ele retorna uma tupla com uma entrada nomeada, o que significa que haverá um nome atribuído a cada valor na tupla. Ele supera o problema de acessar os elementos usando os valores do índice. Com namedtuple () fica mais fácil acessar esses valores, uma vez que você não precisa se lembrar dos valores do índice para obter elementos específicos.

Como funciona?

Em primeiro lugar, você deve importar o módulo de coleções, ele não requer instalação.

de coleções importar namedtuple

Observe o código a seguir para entender como você pode usar namedtuple.

a = namedtuple ('cursos', 'nome, tecnologia') s = a ('ciência de dados', 'python') impressão (s) #a saída será cursos (nome = 'python', tecnologia = 'python')

Como criar um namedtuple usando uma lista?

s._make (['data science', 'python']) #a saída será a mesma de antes.

e

deque pronunciado como 'deck' é uma lista otimizada para realizar a inserção e exclusão facilmente.

qual é a tag span em html

Como funciona?

#criando um deque a partir de coleções import deque a = ['d', 'u', 'r', 'e', ​​'k'] a1 = deque (a) print (a1) #a saída será deque ([' d ',' u ',' r ',' e ',' k '])

Agora vamos dar uma olhada em como vamos inserir e remover itens do deque.

a1.append ('a') print (a1) # a saída será deque (['d', 'u', 'r', 'e', ​​'k', 'a']) a1.appendleft (' e ') print (a1) # a saída será deque ([' e ',' d ',' u ',' r ',' e ',' k ',' a '])

Como deveria ser óbvio, a inserção de um componente é aprimorada com o uso de deque, e você também pode remover componentes.

a1.pop () print (a1) #a saída será deque (['e', 'd', 'u', 'r', 'e', ​​'k']) a1.popleft () print (a1 ) #a saída será deque (['d', 'u', 'r', 'e', ​​'k'])

Semelhante aos tipos de dados integrados, existem várias outras operações que podemos realizar em um deque. Como contar elementos ou limpar o deque etc.

ChainMap

É uma classe semelhante a um dicionário que é capaz de fazer uma visualização única de vários mapeamentos. Ele basicamente retorna uma lista de vários outros dicionários. Suponha que você tenha dois dicionários com vários pares de valores-chave; neste caso, ChainMap fará uma única lista com ambos os dicionários.

Como funciona?

das coleções import ChainMap a = {1: 'edureka', 2: 'python'} b = {3: 'data science', 4: 'Machine learning'} c = ChainMap (a, b) print (c) #the a saída será ChainMap [{1: 'edureka', 2: 'python'}, {3: 'data science', 4: 'Machine learning'}]

Para acessar ou inserir elementos usamos as chaves como índice. Mas, para adicionar um novo dicionário ao ChainMap, usamos a seguinte abordagem.

a1 = {5: 'AI', 6: 'redes neurais'} c1 = c.new_child (a1) print (c1) #a saída será ChainMap [{1: 'edureka', 2: 'python'}, { 3: 'ciência de dados', 4: 'Aprendizado de máquina'}, {5: 'IA', 6: 'redes neurais'}]

Contador

É uma subclasse de dicionário que é usada para contar objetos hashable.

Como funciona?

da importação de coleções Contador a = [1,1,1,1,2,3,3,4,3,3,4] c = Contador (a) imprimir (c) # a saída será Contador = ({1: 4, 2: 1, 3: 4, 4: 2})

Além das operações que você pode realizar em um dicionário, o Contador tem mais 3 operações que podemos realizar.

  1. função de elemento - retorna uma lista contendo todos os elementos no contador.
  2. Most_common () - retorna uma lista classificada com a contagem de cada elemento no contador.
  3. Subtract () - toma um objeto iterável como argumento e deduz a contagem dos elementos no contador.

OrderedDict

É uma subclasse de dicionário que lembra a ordem em que as entradas foram adicionadas. Basicamente, mesmo que você altere o valor da chave, a posição não será alterada devido à ordem em que foi inserida no dicionário.

Como funciona?

das coleções importar OrderedDict od = OrderedDict () od [1] = 'e' od [2] = 'd' od [3] = 'u' od [4] = 'r' od [5] = 'e' od [6] = 'k' de [7] = 'a' imprimir (de) # a saída será OrderedDict [(1, 'e'), (2, 'd'), (3, 'u'), (4, 'r'), (5, 'e'), (6, 'k'), (7, 'a')]

Não importa qual valor é inserido no dicionário, o OrderedDict lembra a ordem em que foi inserido e obtém a saída de acordo. Mesmo se mudarmos o valor da chave. Digamos que, se alterarmos o valor da chave de 4 para 8, a ordem não mudará na saída.

padrão

É uma subclasse de dicionário que chama uma função de fábrica para fornecer valores ausentes. Em geral, ele não gera erros quando um valor de chave ausente é chamado em um dicionário.

Como funciona?

das coleções import defaultdict d = defaultdict (int) # temos que especificar um tipo também. d [1] = 'edureka' d [2] = 'python' print (d [3]) # dará a saída como 0 em vez de keyerror.

UserDict

Esta classe atua como um invólucro em torno dos objetos de dicionário. A necessidade dessa classe veio da necessidade de criar uma subclasse diretamente de dict. Torna-se mais fácil trabalhar com essa classe à medida que o dicionário subjacente se torna um atributo.

coleções de classes.UserDict ([initialdata])

Esta classe simula um dicionário. O conteúdo da instância é mantido em um dicionário regular que pode ser acessado com o atributo ‘data’ da classe UserDict. Não é mantida a referência dos dados iniciais, para serem utilizados para outros fins.

Lista de usuários

Esta classe atua como um invólucro em torno dos objetos da lista. É uma classe base útil para outras listas como classes que podem herdar delas e sobrescrever os métodos existentes ou até mesmo adicionar menos novos também.

A necessidade dessa classe veio da necessidade de criar uma subclasse diretamente da lista. Torna-se mais fácil trabalhar com essa classe à medida que a lista subjacente se torna um atributo.

coleções de classes.UserList ([lista])

É a classe que simula uma lista. O conteúdo da instância é mantido em uma lista habitual. As subclasses da lista oferecem um construtor que pode ser chamado com nenhuma ou uma contenção.

Neste blog, aprendemos sobre as estruturas de dados especializadas que vêm com o módulo de coleções em python. A otimização leva a melhor desempenho e resultados aprimorados. O mesmo se aplica à nossa carreira e habilidades também. Se você quiser dar o pontapé inicial no seu aprendizado e otimizar a maneira como você percebe a programação, inscreva-se no programa edureka e liberar as possibilidades infinitas com python.

Tem alguma dúvida? mencione-os nos comentários e entraremos em contato com você o mais breve possível.