11 algoritmos em Python que você deve conhecer

COMPARTILHAR:

Muitos programadores gostam do Python por sua sintaxe simples e concisa. Esses algoritmos em Python são pequenos programas de exemplo que você pode usar para resolver problemas diários comuns.

Use esses algoritmos em Python fáceis de digerir e leve sua eficiência de programação para o próximo nível.

1. Extraia um subconjunto de um dicionário

Você pode extrair um subconjunto de um dicionário usando o método de compreensão de dicionário.

test_marks = {
'Alex' : 50,
'Adam' : 43,
'Eva' : 96,
'Smith' : 66,
'Andrew' : 74
}

greater_than_60 = { key:value for key, value in test_marks.items() if value > 60 }
print(greater_than_60)

students = { 'Alex', 'Adam', 'Andrew'}
a_students_dict = { key:value for key,value in test_marks.items() if key in students }
print(a_students_dict)

Saída:

{'Eva': 96, 'Smith': 66, 'Andrew': 74}
{'Alex': 50, 'Adam': 43, 'Andrew': 74}

2. Pesquisar e substituir texto

Você pode pesquisar e substituir um padrão de texto simples em uma string usando o método str.replace() .

str = "Peter Piper picked a peck of pickled peppers"
str = str.replace("Piper", "Parker")
print(str)

Saída:

Peter Parker picked a peck of pickled peppers

Para padrões mais complicados, você pode usar o método sub() da biblioteca re. Expressões regulares em Python tornam a tarefa muito mais fácil para padrões complicados.

import re
str = "this is a variable name"
result = re.sub('\⁠s', '_', str)
print(result)

Saída:

this_is_a_variable_name

O código acima substitui o caractere de espaço em branco por um caractere de sublinhado.

fullstack pro - sujeito programador

3. Elementos de Sequência de Filtros

Você pode filtrar elementos de uma sequência de acordo com determinadas condições usando a compreensão de lista.

list = [32, 45, 23, 78, 56, 87, 25, 89, 66]

# Filtering list where elements are greater than 50
filtered_list = [ele for ele in list if ele>50]
print(filtered_list)

Saída:

[78, 56, 87, 89, 66]

4. Alinhar Strings de Texto

Você pode alinhar strings de texto usando os métodos ljust() , rjust() e center() . Esses métodos justificam à esquerda, justificam à direita e centralizam uma string em um campo de uma determinada largura.

str = "Python is best"
print(str.ljust(20))
print(str.center(20))
print(str.rjust(20))

Saída:

Python is best 
Python is best
Python is best

Esses métodos também aceitam um caractere de preenchimento opcional.

str = "Python is best"
print(str.ljust(20, '#'))
print(str.center(20, '#'))
print(str.rjust(20, '#'))

Saída:

Python is best######
###Python is best###
######Python is best

Nota : Você também pode usar a função format() para alinhar strings.

5. Converta Strings em DateTimes

Você pode usar o método strptime() da classe datetime para converter uma representação de string da data/hora em um objeto de data.

from datetime import datetime
str = '2022-01-03'
print(str)
print(type(str))
datetime_object = datetime.strptime(str, '%Y-%m-%d')
print(datetime_object)
print(type(datetime_object))

Saída:

2022-01-03
<class 'str'>
2022-01-03 00:00:00
<class 'datetime.datetime'>

Nota: Se o argumento string não for consistente com o parâmetro format, o método strptime() não funcionará.

6. Descompacte uma sequência em variáveis ​​separadas

Você pode descompactar qualquer sequência em variáveis ​​usando a operação de atribuição. Este método funciona desde que o número de variáveis ​​e a estrutura da sequência coincidam.

Desempacotando Tuplas

tup = (12, 23, 34, 45, 56)
a, b, c, d, e = tup
print(a)
print(d)

Saída:

12
45

Listas de descompactação

list = ["Hey", 23, 0.34, (55, 76)]
a, b, c, d = list
print(a)
print(d)

Saída:

Hey
(55, 76)

Descompactando Strings

str = "Hello"
ch1, ch2, ch3, ch4, ch5 = str
print(ch1)

Saída:

H

Se o número de variáveis ​​e a estrutura da sequência não corresponderem, você receberá um erro:

list = ["Hey", 23, 0.34, (55, 76)]
a, b, c = list

Saída:

Traceback (most recent call last):
File "unpack-list-error.py", line 2, in <module>
a, b, c = list
ValueError: too many values to unpack (expected 3)

7. Escrevendo funções que aceitam qualquer número de argumentos posicionais

Você precisa usar um argumento * para aceitar qualquer número de argumentos posicionais.

def sumOfElements(firstTerm, *otherTerms):
s = firstTerm + sum(otherTerms)
print(s)
sumOfElements(10, 10, 10, 10, 10)
sumOfElements(10)
sumOfElements(10, 10, 10)

Saída:

50
10
30

8. Retornar vários valores de uma função

Você pode retornar vários valores de uma função usando uma tupla, lista ou dicionário.

def returnMultipleSports():
sport1 = "football"
sport2 = "cricket"
sport3 = "basketball"
return sport1, sport2, sport3
sports = returnMultipleSports()
print(sports)

Saída:

('football', 'cricket', 'basketball')

No exemplo acima, a função retorna uma tupla. Você pode descompactar a tupla e usar os valores retornados.

def returnMultipleLanguages():
language1 = "English"
language2 = "Hindi"
language3 = "French"
return [language1, language2, language3]
languages = returnMultipleLanguages()
print(languages)

Saída:

['English', 'Hindi', 'French']

Neste exemplo, a função retorna uma lista.

9. Iterar no sentido inverso

Você pode iterar sobre uma sequência na ordem inversa usando a função reversed() , a função range() ou a técnica de fatiamento.

Iterando inversamente usando a função reversed()

list1 = [1, 2, 3, 4, 5, 6, 7]
for elem in reversed(list1):
print(elem)

Saída:

7
6
5
4
3
2
1

Iterando inversamente usando a função range()

list1 = [1, 2, 3, 4, 5, 6, 7]
for i in range(len(list1) - 1, -1, -1):
print(list1[i])

Saída:

7
6
5
4
3
2
1

Iterando em sentido inverso usando a técnica de fatiamento

list1 = [1, 2, 3, 4, 5, 6, 7]
for elem in list1[::-1]:
print(elem)

Saída:

7
6
5
4
3
2
1

10. Lendo e gravando JSON em um arquivo

Você pode trabalhar com dados JSON usando o pacote json integrado em Python.

Escrevendo JSON em um arquivo

Você pode gravar JSON em um arquivo usando o método json.dump() .

import json
languages = {
"Python" : "Guido van Rossum",
"C++" : "Bjarne Stroustrup",
"Java" : "James Gosling"
}
with open("lang.json", "w") as output:
json.dump(languages, output)

Isso criará um novo arquivo chamado lang.json .

Lendo JSON de um arquivo

Você pode ler JSON de um arquivo usando a função json.load() . Esta função carrega os dados JSON de um arquivo JSON em um dicionário.

import json
with open('lang.json', 'r') as o:
jsonData = json.load(o)
print(jsonData)

Saída:

{'Python': 'Guido van Rossum', 'C++': 'Bjarne Stroustrup', 'Java': 'James Gosling'}

11. Gravando em um arquivo que ainda não existe

Portanto, se você quiser gravar em um arquivo apenas se ele ainda não existir, será necessário abrir o arquivo no modo x (modo de criação exclusivo).

with open('lorem.txt', 'x') as f:
f.write('lorem ipsum')

Se o arquivo lorem.txt já existir, esse código fará com que o Python lance um FileExistsError .

Então, se você quiser dar uma olhada no código-fonte completo usado neste artigo, aqui está o repositório do GitHub.

Torne seu código robusto com funções internas do Python

Use funções para dividir um programa em partes modulares e executar tarefas específicas. O Python fornece muitas funções internas, como range (), slice (), sorted (), abs (), e assim por diante, que podem tornar suas tarefas muito mais fáceis. Faça uso dessas funções internas para escrever um código mais legível e funcional.

COMPARTILHAR:
brayan

Brayan Monteiro

Bacharel em Sistemas de Informação pela Faculdade Maurício de Nassau e desenvolvedor PHP. Além de programador, produzo conteúdo e gerencio blogs. Sou especialista em desenvolvimento de software, SEO de sites e em negócios digitais.