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
tags
conjunto. - 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
expression
a 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 condition
na if
clá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 tags
conjunto 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 tags
conjunto 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.