Aprenda Python Set/Frozenset Data Structure - Parte 4
- 3132
- 370
- Ms. Travis Schumm
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.
- 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.
- 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 pythonDefinir métodos
Use embutido “Dir ()” função para listar os métodos e atributos de conjunto disponíveis.
Definir métodos em PythonAdicionar 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étodoRemover / 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.
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.
Intersection_update
intersection_update (*outros) - Atualize o conjunto, mantendo apenas elementos encontrados nele e todos os outros.
Atualização de interseçãoAtualização de diferença
diferença_update (*outros) - Atualize o conjunto, mantendo apenas elementos encontrados nele e todos os outros.
Atualização de diferençaSymmetric_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_updateISDISJONT, 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.
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ópiaExclua o objeto definido do espaço para nome usando um embutido "Del" palavra -chave.
Del Palavra -chaveConjunto 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.
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.…
- « Wireguard - um túnel VPN rápido, moderno e seguro para Linux
- Aprenda a estrutura de dados da lista Python - Parte 1 »