Search
Close this search box.
Aprenda truques de Python que poucos conhecem
truques de Python simples

Posts Relacionados:

Conheça alguns truques de Python para aproveitar toda a sua versatilidade, acelerar seus códigos e tornar sua sintaxe mais clara e concisa.

Receba nossa newsletter

Truques de Python

Python é uma linguagem muito popular por ser versátil e com sintaxe simples. Ela também é cheia de truques que poucos conhecem, mas que podem acelerar nossos códigos. Portanto, neste post, nosso foco será em alguns truques de Python. Vamos a eles.

Três pontos como placeholder

Já precisou definir uma função e usar pass como placeholder para completá-la depois?

				
					
def minha_func():
    pass
				
			

Poucas pessoas sabem é que o uso de três pontos também funciona como um placeholder. Veja abaixo:

				
					
def minha_func():
    ...
				
			

Descompacção com asterisco

Descompactação se refere ao processo de atribuir valores a múltiplas variáveis simultaneamente. Por exemplo, ao invés de escrever assim:

				
					a = 1
b = [2, 3, 4]
c = 5
				
			

Podemos escrever desta forma:

				
					a, b, c = 1, [2, 3, 4], 5
				
			

Mas, o truque de Python que poucos sabem é que, quando precisamos descompactar variáveis que envolvem listas, podemos usar asterisco. Essa é uma maneira conveniente de extrair elementos específicos de uma sequência ou atribuir várias variáveis de uma única sequência. O asterisco mapeia todos os valores sem atribuição direta para uma única variável. Veja no exemplo abaixo:

				
					a, *b, c = [1, 2, 3, 4, 5]
print("a:", a, "b:", b, "c:", c)
# a: 1 b: [2, 3, 4] c: 5
				
			

Nesse caso, a variável a recebeu o primeiro valor e c recebeu o último. Já b, posicionado no meio, recebeu os demais valores intermediários devido à presença do asterisco junto a ele. Se mudarmos a ordem de b, as atribuições mudam também:

				
					*b, a, c = [1, 2, 3, 4, 5]
print("b:", b, "a:", a, "c:", c)
# b: [1, 2, 3] a: 4 c: 5
				
			
Portanto, em Python, o asterisco atua efetivamente como um “curinga” que coleta os elementos restantes em uma lista para atribuí-los a uma variável.

Encadeamento de operadores de comparação

Esse é um truque de Python fácil, mas nem todos conhecem. Se você precisa fazer múltiplas comparações, elas podem ser encadeadas. Por exemplo, se precisamos verificar se uma variável c é maior do que um valor a e menor do que b, ao invés de fazer comparações em sequência ou usar o operador and:

				
					a = 5
b = 10
c = 7

if c > a and c < b:
    print('c maior do que a e menor do que b')
# resultado: c maior do que a e menor do que b
				
			

Podemos encadear as comparações como mostrado abaixo:

				
					if a < c < b:
    print('c maior do que a e menor do que b')
# resultado: c maior do que a e menor do que b
				
			

Combinação de listas

Precisa combinar listas? Use o comando extend(). Veja abaixo como ele combina listas rápida e concisamente.

				
					a = [1, 2, 3, 4]
b = [5, 6, 7, 8]
a.extend(b)
print(a)
# [1, 2, 3, 4, 5, 6, 7, 8]
				
			

Combinação de dicionários

Já para combinar dicionários, o truque de Python é um pouco diferente. Podemos combinar dicionários usando chaves e asteriscos, como mostrado abaixo:

				
					x = {
    "a": 1,
    "b": 2,
    "c": 3,
}

y = {
    "d": 4,
    "e": 5
}
z = {**x, **y}
print(z)
# resultado:  {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5}

				
			

Neste exemplo, o dicionário z foi formado através da combinação dos dicionários x e y.

Reversão de listas e strings

Precisa reorganizar uma lista ao contrário? Ao invés de usar um loop, isso pode ser facilmente resolvido usando “::-1” como índice. Não entendeu? Veja um exemplo:

				
					minha_lista = [1, 2, 3, 4, 5]
minha_lista_invertida = minha_lista[::-1]
print(minha_lista_invertida)
# resultado: [5, 4, 3, 2, 1]
				
			

Em Python, strings são iteráveis. Portanto, podemos inverter uma string exatamente como fizemos acima com uma lista. Veja abaixo:

				
					minha_string = "abracadabra"
print(minha_string[::-1])
# resultado: arbadacarba

				
			

Transforme uma lista de listas em uma única lista

 Existem várias situações em que precisamos combinar uma lista de listas em uma única lista. O módulo itertools tem uma ferramenta ideal para esses casos: itertools.chain(). A seguir, mostramos um código ilustrativo de como usá-lo:

				
					from itertools import chain
minha_lista_de_listas = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
minha_nova_lista = list(chain(*minha_lista_de_listas))
print(minha_nova_lista)
# resultado: [1, 2, 3, 4, 5, 6, 7, 8, 9]
				
			

Use um passo para obter elementos específicos de uma lista

Suponha que você precise extrair apenas os itens em posições pares de uma lista. Ao invés de usar um loop, use como índice “::passo” onde passo é o intervalo que deseja. Vamos aos exemplos:

				
					minha_lista = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(minha_lista[::2]) # retorna valores com intervalo de 2
# resultado: [1, 3, 5, 7, 9]

print(minha_lista[::5]) # retorna valores com intervalo de 5
# resultado: [1, 6]
				
			

Encontrou algum erro ou quer fazer uma sugestão? Por favor, entre em contato usando nosso formulário de contatos.

Imagem com IA Generativa – Dia 274

IA generativa img 274

Arte com IA generativa: imagem do dia

Todos os dias, postamos um exemplo de imagem artística gerada com inteligência artificial.

Tutoriais

Postagens Mais Recentes

Outras Postagens Que Podem Interessar

Veja
Mais

Fique em contato

Se inscreva para receber nossa newsletter com novidades.

aprendiz artificial