Les Python One-Liners peuvent vous aider à effectuer des tâches complexes avec une seule ligne de code Python. Voici quelques-unes des plus utiles à connaître !
Python est connu pour sa syntaxe courte et claire. En raison de sa simplicité, Python est parfois appelé « pseudocode exécutable ». Vous pouvez rendre les programmes Python plus concis en utilisant des codes en une ligne. Cela vous aidera à gagner du temps et à écrire du code d’une manière plus pythonique.
Dans cet article, vous apprendrez 11 one-liners Python qui vous aideront à coder comme un pro.
Sommaire
- 1 Convertir une chaîne en un nombre entier
- 2 Inverser une liste
- 3 Échanger deux variables
- 4 FizzBuzz One-Liner en Python
- 5 Générer un mot de passe aléatoire
- 6 Afficher la date et l’heure actuelles au format chaîne
- 7 Vérifier si une chaîne de caractères est un palindrome
- 8 Trouver la factorielle d’un nombre
- 9 Imprimer la suite de Fibonacci jusqu’à N termes
- 10 Calculer la somme d’une liste
- 11 Trier une liste
Convertir une chaîne en un nombre entier
Vous pouvez convertir une chaîne de caractères en un nombre entier en utilisant la fonction int() intégrée.
str1 = ‘0
str2 = ‘100
str3 = ‘587
print(int(str1))
print(int(str2))
print(int(str3))
Sortie :
0
100
587
Inverser une liste
Vous pouvez inverser une liste en Python en utilisant différentes méthodes :
Utilisation de la technique de découpage en tranches
Avec cette technique, la liste originale n’est pas modifiée, mais une copie de la liste est créée.
arr = [1, 2, 3, 4, 5, 6]
print(arr)
arr inversé = arr[::-1]
print(reversedArr)
Sortie :
[1, 2, 3, 4, 5, 6]
[6, 5, 4, 3, 2, 1]
Utilisation de la fonction intégrée reversed()
La fonction reversed() renvoie un itérateur qui accède à la liste donnée dans l’ordre inverse.
arr = [1, 2, 3, 4, 5, 6]
print(arr)
reversedArr = liste(reversed(arr))
print(reversedArr)
Sortie :
[1, 2, 3, 4, 5, 6]
[6, 5, 4, 3, 2, 1]
Utilisation de la méthode intégrée reverse()
La méthode reverse() inverse les éléments de la liste originale.
arr = [1, 2, 3, 4, 5, 6]
print(arr)
arr.reverse()
print(arr)
Sortie :
[1, 2, 3, 4, 5, 6]
[6, 5, 4, 3, 2, 1]
Échanger deux variables
Vous pouvez échanger deux variables en utilisant la syntaxe suivante :
variable1, variable2 = variable2, variable1
Vous pouvez échanger des variables de n’importe quel type de données en utilisant cette méthode.
a = 100
b = 12
print(« Valeur de a avant permutation : », a)
print(« Valeur de b avant permutation : », b)
a, b = b, a
print(« Valeur de a après permutation : », a)
print(« Valeur de b après la permutation : », b)
Sortie :
Valeur de a avant la permutation : 100
Valeur de b avant permutation : 12
Valeur de a après permutation : 12
Valeur de b après swapping : 100
FizzBuzz One-Liner en Python
Le défi FizzBuzz est un défi classique utilisé comme outil de sélection lors d’entretiens avec des programmeurs informatiques. Vous pouvez résoudre le défi FizzBuzz en une seule ligne de code :
Résultat :
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Générer un mot de passe aléatoire
Vous pouvez générer des mots de passe aléatoires en Python à l’aide du code en une ligne suivant :
import random as r ; p = ‘abcdefghijklmnopqrstuvwxyz0123456789%^*(-_=+)’ ; print( ».join([p[r.randint(0,len(p)-1)] for i in range(10)]))
Sortie :
v4+zagukpz
Ce code génère un mot de passe de longueur 10. Si vous souhaitez modifier la longueur du mot de passe, mettez à jour le paramètre de la fonction range(). De plus, chaque fois que vous exécuterez le code, vous obtiendrez une sortie aléatoire différente.
Afficher la date et l’heure actuelles au format chaîne
Vous pouvez afficher la date et l’heure actuelles en Python en utilisant le module datetime. Voici le code en une ligne pour afficher la date et l’heure actuelles au format chaîne :
import datetime ; print(datetime.datetime.now().strftime(« %Y-%m-%d %H:%M:%S »))
Sortie :
2021-11-22 14:35:41
Vérifier si une chaîne de caractères est un palindrome
On dit d’une chaîne qu’elle est palindrome si la chaîne originale et son inverse sont identiques. Vous pouvez vérifier si une chaîne est un palindrome ou non en utilisant le code suivant :
str1 = « MUO »
str2 = « madam »
str3 = « MAKEUSEOF
str4 = « maman
print(‘Oui’) if str1 == str1[::-1] else print(‘Non’)
print(‘Oui’) if str2 == str2[::-1] else print(‘Non’)
print(‘Oui’) if str3 == str3[::-1] else print(‘Non’)
print(‘Oui’) if str4 == str4[::-1] else print(‘Non’)
Sortie :
Non
Oui
Non
Oui
Trouver la factorielle d’un nombre
La factorielle d’un nombre entier non négatif n est le produit de tous les nombres entiers positifs inférieurs ou égaux à n. Vous pouvez trouver la factorielle d’un nombre en une ligne de code en utilisant les fonctions lambda.
num1 = 5
num2 = 0
num3 = 10
num4 = 12
factorielle = lambda num : 1 si num <= 1 sinon num*factorielle(num-1)
print(« Factorielle de », num1, » : », factorielle(num1))
print(« Factorielle de », num2, » : », factorielle(num2))
print(« Factorielle de », num3, » : », factorielle(num3))
print(« Factorielle de », num4, » : », factorielle(num4))
Sortie :
Factorielle de 5 : 120
Factorielle de 0 : 1
Factorielle de 10 : 3628800
Factoriel de 12 : 479001600
Imprimer la suite de Fibonacci jusqu’à N termes
Une suite de Fibonacci est une série de nombres où chaque terme est la somme des deux précédents, à partir de 0 et 1. Vous pouvez imprimer la suite de Fibonacci jusqu’à n termes en utilisant la fonction lambda.
from functools import reduce ; fibSequence = lambda n : reduce(lambda x, _ : x+[x[-1]+x[-2]], range(n-2), [0, 1])
print(fibSequence(10))
print(fibSéquence(5))
print(fibSéquence(6))
Sortie :
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34]
[0, 1, 1, 2, 3]
[0, 1, 1, 2, 3, 5]
Calculer la somme d’une liste
Vous pouvez calculer la somme d’une liste à l’aide de la fonction sum() de Python.
list1 = [1, 2, 3, 4, 5, 6, 7] [0, 1, 1, 2, 3, 5].
list2 = [324, 435, 456]
list3 = [0, 43, 35, 12, 45]
print(somme(liste1))
print(sum(list2))
print(sum(list3))
Sortie :
28
1215
135
Trier une liste
Vous pouvez trier une liste en utilisant la méthode sort(). Voici le code en une ligne pour le faire :
list1 = [12, 345, 123, 34, 23, 37]
list2 = [‘m’, ‘a’, ‘k’, ‘e’, ‘u’, ‘s’, ‘e’, ‘o’, ‘f’]
list3 = [5, 4, 3, 2, 1]
print(« Avant le tri : »)
print(liste1)
print(list2)
print(list3)
list1.sort()
list2.sort()
list3.sort()
print(« Après le tri : »)
print(list1)
print(list2)
print(list3)
Sortie :
Avant le tri :
[12, 345, 123, 34, 23, 37]
[‘m’, ‘a’, ‘k’, ‘e’, ‘u’, ‘s’, ‘e’, ‘o’, ‘f’]
[5, 4, 3, 2, 1]
Après le tri :
[12, 23, 34, 37, 123, 345]
[‘a’, ‘e’, ‘e’, ‘f’, ‘k’, ‘m’, ‘o’, ‘s’, ‘u’]
[1, 2, 3, 4, 5]
Si vous voulez jeter un coup d’œil au code source complet utilisé dans cet article, voici le dépôt GitHub.
Écrire plus de code Python en utilisant les méthodes et fonctions intégrées
Les méthodes et fonctions intégrées permettent de raccourcir le code et d’augmenter son efficacité. Python fournit de nombreuses méthodes et fonctions intégrées comme reduce(), split(), enumerate(), eval(), etc. Utilisez-les toutes et écrivez du code plus pythonique.