Pular para o conteúdo
Início » 11 algoritmos em Python que você deve conhecer

11 algoritmos em Python que você deve conhecer

ALGORITMOS EM PYTHON
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.

pacote fullstack danki code

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.

Brayan Monteiro

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.

Participe da conversa

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

13 + 6 =