Introdução aos conjuntos Python

Neste artigo, discutiremos conjuntos em Python. O Python é uma linguagem muito versátil e está rapidamente se tornando uma das linguagens de referência no campo da ciência de dados, pois é fácil entender a leitura e a escrita e também com base no conceito de OOPs. Set é uma coleção não ordenada que é representada por colchetes no Python. Desordenado aqui significa que você não tem certeza de qual ordem os itens serão exibidos. Conjunto é diferente de uma lista que pode armazenar apenas elementos exclusivos e sem elementos duplicados.

Sintaxe:

Como no python geral, a sintaxe geralmente é fácil. A sintaxe do conjunto de python é a seguinte:

firstset = ("Johnny", "Nilanjan", "Rupa")
print(firstset)

Aqui, o primeiro conjunto é o nome da variável na qual o conjunto está armazenado. As chaves () representam conjunto e, como estamos adicionando valores de sequência, são necessárias vírgulas invertidas duplas / simples. Os valores no conjunto são separados por vírgulas. Agora, desde que vimos a sintaxe do conjunto com um exemplo em Python. Vamos agora discutir os diferentes métodos usados ​​nos conjuntos Python.

Métodos diferentes em conjuntos Python

Vamos analisar os diferentes métodos presentes como Python interno para Sets.

1. add (): como o nome sugere, é usado para adicionar um novo elemento ao conjunto. Isso significa que você está aumentando o número de elementos no conjunto em um. Aqui, um conhecimento muito importante sobre o conjunto que precisa ser lembrado é que o elemento só é adicionado se ainda não estiver presente nos ativos do conjunto e não leva elementos duplicados. O método add também não retorna nenhum valor. Vamos fazer um exemplo.

Código:

firstset = ("Johnny", "Nilanjan", "Rupa")
firstset.add("Sepoy")
print("The new word is", firstset)
#to check duplicate property of Set
firstset.add("Sepoy")
print("The new word is", firstset)

Agora, a captura de tela abaixo é a saída do código quando ele é executado no Jupyter Notebook.

Se você vir a saída pela primeira vez, quando a função add () é usada, ela adiciona o elemento e o tamanho do conjunto é aumentado em um, como mostrado quando executamos a primeira instrução print, mas na segunda vez em que usamos o método add () para adicionar o mesmo elemento (sepoy) como na primeira vez, ao executar a instrução print, vemos os mesmos elementos sendo exibidos sem aumento no tamanho do conjunto, o que significa que esse conjunto não aceita valores duplicados.

2. clear (): como o nome sugere, ele remove todos os elementos do conjunto. Ele não aceita nenhum parâmetro nem retorna nenhum valor. Simplesmente precisamos chamar o método clear e executá-lo. Vamos ver um exemplo:

Código:

firstset = ("Johnny", "Nilanjan", "Rupa")
print("Before clear", firstset)
firstset.clear()
print("After clear", firstset)

Vejamos a saída depois de executar o mesmo código no jupyter Notebook.

Portanto, a captura de tela acima mostra que antes de executarmos o método clear, a lista era impressa com elementos e, quando executamos o método clear (), todos os elementos foram removidos e ficamos com um conjunto vazio.

3. copy (): Este método é usado para criar uma cópia superficial de um conjunto. O termo cópia superficial significa que, se você adicionar novos elementos ao conjunto ou remover elementos do conjunto, o conjunto original não será alterado. É a vantagem básica de usar a função de cópia. Veremos um exemplo para entender o conceito de cópia superficial.

Código:

originalset = ("Johnny", "Nilanjan", "Rupa")
copiedset = originalset.copy()
print("originalset:: ", originalset)
print("copiedset:: ", copiedset)
# modify the copiedset to check shallow copy feature
copiedset.add("Rocky")
print("originalset:: ", originalset)
print("copiedset:: ", copiedset)

Agora vamos verificar a saída no Jupyter Notebook.

Como você pode ver, quando usamos a função para adicionar um novo elemento ao conjunto copiado, o conjunto copiado foi modificado, mas o conjunto original permaneceu o mesmo.

4. diferença (): Esta é uma função muito importante inserida. Esta função retorna um conjunto que é a diferença entre dois conjuntos. Lembre-se de que aqui diferença não significa subtração, porque aqui está a diferença entre o número de elementos em dois conjuntos e não os valores dos elementos. Aqui, por exemplo, o conjunto A1 - conjunto A2 significa que ele retorna um conjunto com elementos presentes em A1, mas não em A2 e vice-versa no caso do conjunto A2 - conjunto A1 (presente em A2, mas não em A1). O mesmo será explicado abaixo com a ajuda de um exemplo.

Código:

A1= (24, 35, 34, 45)
A2= (24, 56, 35, 46)
print(A1.difference(A2))
print(A2.difference(A1))

Agora, vejamos a saída fornecida na captura de tela abaixo.

Agora, na captura de tela acima, se você olhar com cuidado, há uma diferença entre o primeiro e o segundo resultado. No primeiro resultado, são mostrados os elementos que estão em A, mas não em B, enquanto no segundo resultado são mostrados os elementos presentes em B, mas não em A.

5. interseção (): é muito diferente do conjunto interno do método anterior. Nesse caso, apenas os elementos comuns nos conjuntos ou em vários conjuntos (no caso de mais de dois conjuntos) são retornados na forma de um conjunto. Agora vamos dar um exemplo.

Código:

A1= (24, 35, 34, 45)
A2= (24, 56, 35, 46)
A3= (24, 35, 47, 56)
print(A1.intersection(A2, A3))

Como você pode ver, os três conjuntos tinham apenas dois elementos em comum: 24 e 35. Portanto, ao executar o código, ele retornou um conjunto contendo apenas 24 e 35.

6. union (): é uma função que retorna um conjunto com todos os elementos do conjunto original e também os conjuntos especificados. Como ele retorna um conjunto, todos os itens terão apenas uma aparência. Se dois conjuntos contiverem o mesmo valor, o item aparecerá apenas uma vez.

Código:

A1= (24, 35, 34, 45)
A2= (24, 56, 35, 46)
A3= (24, 35, 47, 56)
print(A1.union(A2, A3))

Na captura de tela acima, você pode ver a saída do código em execução. Se você olhar atentamente, encontrará todos os valores de A1 e todos os valores exclusivos dos outros dois conjuntos.

7. issubset (): Esta função retorna valores booleanos que são verdadeiros ou falsos. Se todos os elementos de um conjunto estiverem presentes em outro conjunto, ele retornará true, caso contrário, false. Veremos um exemplo do mesmo para entender melhor.

Código:

A1 =(3, 6, 8)
A2 =(45, 87, 3, 67, 6, 8)
print(A1.issubset(A2))
print(A2.issubset(A1))

Se você vir a captura de tela de saída acima, poderá ver que A2 possui todos os elementos de A1, mas A1 não possui todos os elementos de A2. Portanto, A1 é um subconjunto de A2.

8. issuperset (): Esta função retorna valores booleanos que são verdadeiros ou falsos. Se um conjunto contiver todos os elementos de outro conjunto, esse conjunto poderá ser chamado de superconjunto do outro conjunto e o valor retornado pela função será true, caso contrário, false. Veremos um exemplo do mesmo para entender melhor.

Código:

A1 = (3, 6, 8)
A2 = (45, 87, 3, 67, 6, 8)
print(A1.issuperset(A2))
print(A2.issuperset(A1))

Como você pode ver na captura de tela de saída, o segundo conjunto A2 contém todos os elementos do conjunto A1. Portanto, é um superconjunto de A1. O mesmo não se aplica a A1 em relação a A2, portanto, retorna false.

9. remove (): Esta função é usada para remover elementos do conjunto. Os elementos a serem removidos são passados ​​como argumentos. A função remove o elemento se estiver presente no conjunto, caso contrário, ele retorna um erro. Vamos executar um exemplo para verificar isso.

Código:

firstset = ("Johnny", "Nilanjan", "Rupa")
firstset.remove("Nilanjan")
print(firstset)
# to check error
firstset.remove("Rocky")

Se você visualizar a captura de tela acima, quando o código for executado, ele removerá o elemento "Nilanjan", como estava presente no conjunto, mas quando tentamos remover "Rocky", ocorrerá um erro, já que "Rocky" não está presente no conjunto.

10. descarte (): esse método interno também é usado para remover elementos do conjunto, mas é diferente do método de remoção que discutimos anteriormente. Se o elemento estiver presente no conjunto, ele removerá o elemento, mas se estiver presente, ele não retornará nenhum erro e normalmente apenas imprime o conjunto. Vamos ver um exemplo disso

Código:

firstset = ("Johnny", "Nilanjan", "Rupa")
firstset.discard("Nilanjan")
print(firstset)
firstset.discard("Rocky")
print(firstset)

Se visualizarmos a captura de tela acima, podemos ver que, embora “Rocky” não esteja presente no conjunto, não vemos nenhum erro sendo exibido, diferente do método remove, onde um erro foi exibido.

Conclusão

Discutimos neste artigo o conceito de conjuntos em python e as diferentes funções que podem ser usadas ou aplicadas em conjuntos. Os conjuntos, conforme discutido, são importantes em python e os métodos internos são usados ​​para manipular os conjuntos e também para executar operações com conjuntos.

Artigos recomendados

Este é um guia para os conjuntos de Python. Aqui discutimos a introdução dos conjuntos Python, métodos diferentes nos conjuntos Python, juntamente com a sintaxe. Você também pode consultar nossos outros artigos sugeridos para saber mais:

  1. Matriz de seqüência de caracteres em Python
  2. O que é Python
  3. PNL em Python
  4. Python é uma linguagem de script?
  5. Recursos do Python
  6. Matriz de seqüência de caracteres em JavaScript
  7. Guia completo de Strings Array em C