Aprenda Python Set/Frozenset Data Structure - Parte 4

Aprenda Python Set/Frozenset Data Structure - Parte 4

Nisso Parte 4 Das séries de estrutura de dados do Python, discutiremos o que é um conjunto, como ele difere de outra estrutura de dados no Python, como criar objetos de definição, excluir objetos e métodos de definição de objetos.

  • Um objeto definido é uma coleção não ordenada de objetos hashable distintos.
  • O set remove automaticamente itens duplicados do objeto.
  • Como os objetos definidos não são ordenados, nenhuma operação de indexação e fatiamento é suportada.

Atualmente, existem dois tipos de conjuntos embutidos.

  1. definir - Como é mutável, não tem valor de hash e não pode ser usado como uma chave de dicionário ou como um elemento de outro conjunto.
  2. Frozenset - imutável e hashable - Seu conteúdo não pode ser alterado após ser criado; Pode, portanto, ser usado como uma chave de dicionário ou como um elemento de outro conjunto.

Objeto de conjunto de construtos

Crie um conjunto usando o método construtor "definir()" ou usando aparelhos encaracolados com vírgula separando os elementos "abc".

OBSERVAÇÃO: Você não pode construir um objeto definido através de aparelhos vazios, pois ele criará objeto de dicionário.

Objeto de conjunto de construtos em python

Definir métodos

Use embutido “Dir ()” função para listar os métodos e atributos de conjunto disponíveis.

Definir métodos em Python

Adicionar elementos para definir objeto

Como já foi dito, o conjunto é um tipo mutável. Você pode adicionar, excluir, atualizar seu objeto Set depois de criado.

Vamos falar sobre o método de dois conjuntos adicionar e atualizar.

  • Método Add (Elem) - Este método adiciona um único elemento a um objeto definido.
  • Método (*outros) - Este método adiciona vários elementos a um objeto definido. Você pode passar objetos mutáveis/imutáveis ​​como um argumento no método de atualização.

OBSERVAÇÃO: As duplicatas serão removidas automaticamente.

Adicionar e atualizar o método

Remover / limpar elementos de um objeto definido

Como você já viu anteriormente em outros tópicos da estrutura de dados (list, tuplas, dicionário), para o conjunto, você também pode usar palavras-chave embutidas "Del" Para excluir o objeto definido do espaço para nome (i.e Memória).

Abaixo estão os métodos para definir objetos para remover elementos.

  • claro() - Vai limpar todos os elementos que tornam o conjunto vazio. Esse claro() O método está disponível em outras estruturas de dados que fornecem a mesma funcionalidade.
  • pop () - Remove elementos arbitrários.
  • descarte (elem) - Se o item não for encontrado no objeto definido, então "descartar()" O método não levantará nenhum erro.
  • Remover (elem) - O mesmo que "descartar()" método, mas ele aumentará KeyError quando um item não for encontrado.
Remover e limpar objetos definidos

Definir operações

Definir fornece métodos para realizar operações matemáticas, como interseção, união, diferença e diferença simétrica. Lembrar "Diagrama de Venn”Dos seus dias escolares dos altos?

Vamos dar uma olhada nos métodos abaixo sobre como as operações matemáticas são executadas.

  • União
  • interseção
  • intersection_update
  • Symmetric_difference
  • symmetric_difference_update
  • diferença
  • diferença_update
  • ISDISJONT
  • ISSUBSET
  • ISSUPERSET

Union, intersectio, diferença, simétrico_difference

  • Union (*outro) - Retorne um novo conjunto com elementos do conjunto e todos os outros.
  • interseção (*outro) - Retorne um novo conjunto com elementos comuns ao conjunto e a todos os outros.
  • diferença (*outros) - Retorne um novo conjunto com elementos no conjunto que não estão nos outros.
  • Symmetric_difference (outro) - Devolver um novo conjunto com elementos no conjunto ou em outro, mas não em ambos.
Defina operação

Intersection_update

intersection_update (*outros) - Atualize o conjunto, mantendo apenas elementos encontrados nele e todos os outros.

Atualização de interseção

Atualização de diferença

diferença_update (*outros) - Atualize o conjunto, mantendo apenas elementos encontrados nele e todos os outros.

Atualização de diferença

Symmetric_difference_update

symmetric_difference_update (outro) - Atualize o conjunto, mantendo apenas elementos encontrados em qualquer um dos set, mas não em ambos.

Symmetric_difference_update

ISDISJONT, ISSUBSET, ISSUPERSET

  • ISDISJONT (outro) - Retornar true se o conjunto não tiver elementos em comum com outros. Os conjuntos são disjuntos se e somente se o cruzamento deles for o conjunto vazio.
  • ISSUBSET () - Teste se todos os elementos do conjunto estão em outro.
  • ISSUPERSET () - Teste se todo elemento do outro está no conjunto.
ISDISJONT, ISSUBSET, ISSUPERSET

Cópia () método

Você pode criar uma cópia idêntica do objeto Set existente usando cópia de() método. Este método também está disponível para outros tipos de estrutura de dados, como lista, dicionário etc ..

Método de cópia

Exclua o objeto definido do espaço para nome usando um embutido "Del" palavra -chave.

Del Palavra -chave

Conjunto congelado

  • Conjunto congelado é um tipo imutável. Uma vez construído, você não pode adicionar, remover ou atualizar elementos da lista.
  • O conjunto congelado é imutável é hashable, pode ser usado como um "chave" para dicionários ou elementos para outro objeto definido.
  • Conjunto congelado é construído usando “Frozenset ()” função.
  • O Frozen Set fornece o mesmo conjunto de métodos em comparação com "Set" como Union (), Intersecção, Copy (), IsDisjoint () etc.
Conjunto congelado
Resumo

Neste artigo, você viu o que está definido, diferença entre conjunto e conjunto congelado, como criar e acessar os elementos de conjunto, métodos de definição etc.…