Compreensão do conjunto Python

Resumo : neste tutorial, você aprenderá como usar a compreensão de conjuntos do Python para criar um novo conjunto baseado em um existente.

Introdução à compreensão do conjunto Python

Suponha que você tenha o seguinte conjunto que consiste em três tags:

tags = {'Django', 'Pandas', 'Numpy'}Linguagem de código:  Python  ( python )

Para converter as tags do conjunto para outro conjunto de tags em letras minúsculas, você pode usar o seguinte for loop:

tags = {'Django', 'Pandas', 'Numpy'}

lowercase_tags = set()
for tag in tags:
    lowercase_tags.add(tag.lower())

print(lowercase_tags)Linguagem de código:  Python  ( python )

Saída:

{'django', 'numpy', 'pandas'}Linguagem de código:  Python  ( python )

Como funciona:

  • Primeiro, itere sobre cada elemento do tagsconjunto.
  • Segundo, converta cada tag para minúscula e adicione-a ao novo conjunto ( lowercase_tags)

Ou você pode usar a função integrada map()com uma expressão lambda:

tags = {'Django', 'Pandas', 'Numpy'}
lowercase_tags = set(map(lambda tag: tag.lower(), tags))

print(lowercase_tags)Linguagem de código:  Python  ( python )

A map()função retorna um objeto de mapa, então você precisa usar a set()função para convertê-lo em um conjunto.

Para tornar o código mais conciso, Python fornece a sintaxe de compreensão de conjunto da seguinte forma:

{expression for element in set if condition}Linguagem de código:  Python  ( python )

A compreensão do conjunto permite criar um novo conjunto baseado em um conjunto existente.

Uma compreensão de conjunto segue as seguintes etapas:

  • Primeiro, itere sobre os elementos de um conjunto.
  • Segundo, aplique um expressiona cada elemento
  • Terceiro, crie um novo conjunto de elementos resultantes da expressão.

Além disso, a compreensão do conjunto permite selecionar qual elemento aplicar a expressão por meio de a conditionna ifcláusula.

Observe que a compreensão do conjunto retorna um novo conjunto, mas não modifica o conjunto original.

Voltando ao exemplo anterior, você pode converter todas as tags do tagsconjunto usando a seguinte compreensão de conjunto:

tags = {'Django', 'Pandas', 'Numpy'}
lowercase_tags = {tag.lower() for tag in tags}

print(lowercase_tags)Linguagem de código:  Python  ( python )

Essa sintaxe definitivamente parece mais concisa que um loop for e mais elegante que a map()função.

Compreensão do conjunto Python com um exemplo de cláusula if

Suponha que você queira converter todos os elementos do tagsconjunto para letras minúsculas, exceto o Numpy.

Para fazer isso, você pode adicionar uma condição à compreensão do conjunto como esta:

tags = {'Django', 'Pandas', 'Numpy'}
new_tags = {tag.lower() for tag in tags if tag != 'Numpy'}

print(new_tags)
Linguagem de código:  Python  ( python )

Saída:

{'django', 'pandas'}Linguagem de código:  Python  ( python )

Resumo

  • Use a compreensão de conjuntos do Python para criar um novo conjunto baseado em um conjunto existente, aplicando uma expressão a cada elemento do conjunto existente.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *