• Skip to main content
  • Skip to header right navigation
  • Skip to after header navigation
  • Skip to site footer
  • Facebook
  • Twitter
  • Instagram
Lesjeudis

Blog Les Jeudis

Actualité Informatique et Digital

  • Tous les annonces
  • Employeurs
  • Développement
  • Réseaux et Systèmes
  • Digital
  • Marché de l’emploi
  • Conseils
  • Evénements
  • Formation
Développeur Python sur ordinateur portable

20 extraits de code de Python que vous devriez apprendre dès aujourd’hui

03/05/2021 par Team LesJeudis

Quelques trucs et astuces pour vous aider à coder plus rapidement

Python est un langage de programmation direct, sans baratin. Sa lisibilité et la simplicité de son design sont deux des principales raisons qui font son immense popularité.

Comme le dit le Zen de Python :

La beauté à la laideur.

L’explicite à l’implicite.

C’est la raison pour laquelle il est utile de rappeler quelques astuces sur Python pour vous aider à améliorer vos compétences en codage. De cette manière, vous ne serez plus obligé de visiter le site Stack Overflow, chaque fois que vous devez faire quelque chose.

Les astuces suivantes vous seront utiles dans vos exercices de codage quotidiens.

1. Inversion d’une chaîne de caractères

L’extrait suivant inverse une chaîne de caractères en utilisant l’opération de découpage sous Python.

# Reversing a string using slicing

my_string = "ABCDE"
reversed_string = my_string[::-1]

print(reversed_string)

# Output
# EDCBA

Vous pouvez en apprendre plus à ce sujet ici.

2. Utilisation de la casse du titre (Premières Lettres en Majuscules)

L’extrait suivant peut être utilisé pour convertir une chaîne de caractères en casse de titre. Ceci se fait en utilisant la méthode title () de la classe string.

my_string = "my name is Antoine"

# using the title() function of string class
new_string = my_string.title()

print(new_string)

# Output
# My Name Is Antoine

3. Trouver des éléments uniques dans une chaîne de caractères

L’extrait suivant peut être utilisé pour trouver tous les éléments uniques d’une chaîne de caractères. Nous partons du principe que tous les éléments d’un ensemble sont uniques.

my_string = "aabbccddddeee"

# converting the string to a set
temp_set = set(my_string)

# stitching set into a string using join
new_string = ''.join(temp_set)

print(new_string)

4. Impression d’une chaîne de caractères ou d’une liste n fois

Il est possible d’utiliser la multiplication (*) avec des chaînes de caractères ou des listes. Cela nous permet de les multiplier autant de fois que nous le souhaitons.

n = 3 # number of repetitions

my_string = "abcd"
my_list = [1,2,3]

print(my_string*n)
# abcdabcdabcd

print(my_list*n)
# [1,2,3,1,2,3,1,2,3]

Un intéressant cas d’utilisation de la multiplication pourrait être de définir une liste avec une valeur constante — disons zéro.

n = 4
my_list = [0]*n # n denotes the length of the required list
# [0, 0, 0, 0]

5. Compréhension de liste

La compréhension de liste nous fournit une façon élégante de créer des listes basées sur d’autres.

L’extrait suivant crée une nouvelle liste en multipliant chaque élément de l’ancienne liste par deux.

# Multiplying each element in a list by 2

original_list = [1,2,3,4]

new_list = [2*x for x in original_list]

print(new_list)
# [2,4,6,8]

Vous pouvez en apprendre plus à ce sujet ici.

6. Échange de valeurs entre deux variables

Python rend très simple l’échange de valeurs entre deux variables sans utiliser une autre variable.

a = 1
b = 2

a, b = b, a

print(a) # 2
print(b) # 1

7. Fractionner une chaîne de caractères en une liste de sous-chaînes

Nous pouvons fractionner une chaîne de caractères en une liste de sous-chaînes en utilisant la méthode .split() de la classe string. Vous pouvez également passer en argument, le séparateur que vous souhaitez fractionner.

string_1 = "My name is Antoine Lisel"
string_2 = "sample/ string 2"

# default separator ' '
print(string_1.split())
# ['My', 'name', 'is', 'Antoine', 'Lisel']

# defining separator as '/'
print(string_2.split('/'))
# ['sample', ' string 2']

8. Combinaison d’une liste de chaînes de caractères en une seule chaîne de caractères

La méthode join() combine une liste de chaînes de caractères passées en argument en une seule chaîne. Dans notre cas, nous les séparons avec le séparateur virgule.

list_of_strings = ['My', 'name', 'is', 'Antoine', 'Lisel']

# Using join with the comma separator
print(','.join(list_of_strings))

# Output
# My,name,is,Antoine,Lisel

9. Vérifier si une chaîne donnée est un palindrome ou non

Nous avons déjà parlé de comment inverser une chaîne de caractères. Les palindromes deviennent donc un programme à résultat direct en langage Python.

my_string = "abcba"

if my_string == my_string[::-1]:
    print("palindrome")
else:
    print("not palindrome")

# Output
# palindrome

10. Fréquence des éléments d’une liste

Il y a plusieurs façons de le faire, mais ma préférée est d’utiliser la classe Counter de Python.

Le compteur Python suit la fréquence de chaque élément du conteneur. Counter() donne un dictionnaire avec les éléments comme clés et la fréquence comme valeurs.

Nous utilisons aussi la fonction most_common() pour obtenir l’élément le plus fréquent [most_frequent element] de la liste.

# finding frequency of each element in a list
from collections import Counter

my_list = ['a','a','b','b','b','c','d','d','d','d','d']
count = Counter(my_list) # defining a counter object

print(count) # Of all elements
# Counter({'d': 5, 'b': 3, 'a': 2, 'c': 1})

print(count['b']) # of individual element
# 3

print(count.most_common(1)) # most frequent element
# [('d', 5)]

11. Découvrir si deux chaînes sont des anagrammes

Un intéressant usage de la classe Counter est de trouver des anagrammes.

Une anagramme est une expression ou un mot formé en réarrangeant les lettres d’une expression ou d’un mot différent.

Si les objets Counter de deux chaînes sont égaux, alors ce sont des anagrammes.

from collections import Counter

str_1, str_2, str_3 = "acbde", "abced", "abcda"
cnt_1, cnt_2, cnt_3  = Counter(str_1), Counter(str_2), Counter(str_3)

if cnt_1 == cnt_2:
    print('1 and 2 anagram')
if cnt_1 == cnt_3:
    print('1 and 3 anagram')

12. Utilisation du bloc try-except-else

La gestion des erreurs avec Python peut être faite aisément en utilisant le bloc try/except. L’ajout d’une autre instruction à ce bloc pourrait être utile. Ce code fonctionne lorsqu’aucune exception n’est précisée dans le bloc try.

Si vous avez besoin d’exécuter quelque chose indépendamment de l’exception, utilisez finally.

a, b = 1,0

try:
    print(a/b)
    # exception raised when b is 0
except ZeroDivisionError:
    print("division by zero")
else:
    print("no exceptions raised")
finally:
    print("Run this always")

13. Utilisation de l’énumération pour obtenir des paires index/valeur

Le script suivant utilise l’énumération pour itérer les valeurs d’une liste avec leurs indices.

my_list = ['a', 'b', 'c', 'd', 'e']

for index, value in enumerate(my_list):
    print('{0}: {1}'.format(index, value))

# 0: a
# 1: b
# 2: c
# 3: d
# 4: e

14. Vérifier l’utilisation de la mémoire d’un objet

Le script suivant peut être utilisé pour vérifier l’utilisation de la mémoire d’un objet. Vous pouvez en apprendre plus à ce sujet ici.

import sys

num = 21

print(sys.getsizeof(num))

# In Python 2, 24
# In Python 3, 28

15. Fusionner deux dictionnaires

Pendant que dans Python 2, nous utilisions la méthode update() pour fusionner deux dictionnaires, Python 3.5 a rendu le processus encore plus simple.

Dans le script ci-dessous, deux dictionnaires ont été fusionnés. Les valeurs du deuxième dictionnaire sont utilisées en cas de croisements.

dict_1 = {'apple': 9, 'banana': 6}
dict_2 = {'banana': 4, 'orange': 8}

combined_dict = {**dict_1, **dict_2}

print(combined_dict)
# Output
# {'apple': 9, 'banana': 4, 'orange': 8}

16. Temps nécessaire à l’exécution d’un bout de code

L’extrait suivant utilise le module time pour calculer le temps nécessaire à l’exécution d’un bout de code.

import time

start_time = time.time()
# Code to check follows
a, b = 1,2
c = a+ b
# Code to check ends
end_time = time.time()
time_taken_in_micro = (end_time- start_time)*(10**6)

print(" Time taken in micro_seconds: {0} ms").format(time_taken_in_micro)

17. Aplatissement d’une liste de listes

Parfois, vous n’êtes pas sûr du niveau de hiérarchisation de votre liste, et vous voulez simplement avoir tous les éléments dans une liste plate unique.

Voici comment vous pouvez l’obtenir :

from iteration_utilities import deepflatten

# if you only have one depth nested_list, use this
def flatten(l):
  return [item for sublist in l for item in sublist]

l = [[1,2,3],[3]]
print(flatten(l))
# [1, 2, 3, 3]

# if you don't know how deep the list is nested
l = [[1,2,3],[4,[5],[6,7]],[8,[9,[10]]]]

print(list(deepflatten(l, depth=3)))
# [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Numpy flatten est une meilleure manière d’y arriver si vous avez un tableau correctement formaté.

18. Échantillonnage à partir d’une liste

L’extrait suivant génère n nombre d’échantillons aléatoires à partir d’une liste donnée en utilisant le module random.

import random

my_list = ['a', 'b', 'c', 'd', 'e']
num_samples = 2

samples = random.sample(my_list,num_samples)
print(samples)
# [ 'a', 'e'] this will have any 2 random values

On m’a recommandé le module secrets pour générer des échantillons aléatoires à des fins de cryptographie. L’extrait suivant ne fonctionnera que sur Python 3.

import secrets                              # imports secure module.
secure_random = secrets.SystemRandom()      # creates a secure random object.

my_list = ['a','b','c','d','e']
num_samples = 2

samples = secure_random.sample(my_list, num_samples)

print(samples)
# [ 'e', 'd'] this will have any 2 random values

19. Numériser

L’extrait suivant convertira un nombre entier en une liste de chiffres.

num = 123456

# using map
list_of_digits = list(map(int, str(num)))

print(list_of_digits)
# [1, 2, 3, 4, 5, 6]

# using list comprehension
list_of_digits = [int(x) for x in str(num)]

print(list_of_digits)
# [1, 2, 3, 4, 5, 6]

# Even simpler approach
list_of_digits = list(str(num))

print(list_of_digits)
# [1, 2, 3, 4, 5, 6]

20. Vérifier le caractère unique

La fonction suivante vérifiera si tous les éléments d’une liste sont uniques.

def unique(l):
    if len(l)==len(set(l)):
        print("All elements are unique")
    else:
        print("List has duplicates")

unique([1,2,3,4])
# All elements are unique

unique([1,1,2,3])
# List has duplicates

Conclusion

Ce sont là de petits extraits que je trouve extrêmement utiles pour mes tâches quotidiennes.  Le site 30 seconds of python m’a beaucoup aidé pendant mes recherches pour rédiger cet article.

Lire aussi: Web scraping avec Python

Parcourir nos offres d’emploi Python

Categorie: Développement

About Team LesJeudis

Lesjeudis est fier de compter sur une équipe multidisciplinaire de professionnels techniques et du marketing. Ensemble, nous couvrons de vastes domaines informatiques et de développement, ainsi que du marketing et du numérique. De Rails à .net, de la conception graphique à l’interface utilisateur et au référencement, vous bénéficierez de nos connaissances et de notre expertise dans chaque article que nous écrivons dans ce blog.

Previous Post:Répartition par type de contrat informatique, graphique1ère région de l’emploi informatique : la Région Île-de-France
Next Post:Comment mesurer la performance d’un projet web ?Outils de marketing pour la mesure de la performance des projets web

Reader Interactions

Comments

  1. Anonymous

    26/01/2023 at 23:53

    mouais, je ne suis pas sûr que savoir détecter si un mot est un palindrome ou pas me sera vraiment utile dans mon travail…

    cette liste ci semble plus pertinente :
    https://pasdagepourcoder.medium.com/50-astuces-en-python-que-tout-le-monde-devrait-conna%C3%AEtre-faeb7be00482

Leave a Reply

Your email address will not be published. Required fields are marked *

Sidebar

Déposez CV

Rechercher

Nos meilleurs articles

Bannière Développement de jeu vidéo

Développement de jeux vidéo : Ce qu’il faut savoir

Le processus du RPA (Robotic Process Automation)

La Robotic Process automation, aux frontières du machine learning et de l’IA

Modeles React JS

10 modèles React gratuits que vous pouvez utiliser pour vos projets

smartphone avec l'appli de CB et les textes: iOS, Android et windows

Développer une application mobile pas à pas

Un programmeur en t-shirt 'code master' fait semblant d'utiliser des langages informatiques sur un panneau interactif

Comment se former au métier de développeur informatique ?

Les erreurs courantes en C# à éviter pour exceller en tant que développeur

Tout savoir sur Angular 18

Scrum

Repenser Scrum pour libérer son potentiel

Prompt Engineering

Le Prompt Engineering : L’art de converser avec l’intelligence artificielle

Rust

Rust – Le nouveau pilier de la Data Science

Le guide ultime du développeur Python

Les concepts clés en JavaScript

Les concepts clés en JavaScript pour les développeurs seniors

Categories

  • Blockchain (14)
  • Conseils (58)
  • Design (38)
  • Développement (166)
  • Digital (298)
  • Divers (7)
  • E-commerce (13)
  • Evénements (24)
  • Fiche métier (2)
  • Formation (16)
  • Interviews (35)
  • Marché de l'emploi (69)
  • Marketing (127)
  • Méthodologie (10)
  • Réseaux et Systèmes (33)
  • Web (149)

Nos Categories

Blockchain
Conseils
Méthodologies
Design
Développement 
Digital
E-commerce
Evénements
Formation
Interviews
Marché de l’emploi
Marketing
Réseaux et Systèmes
Web

Candidats

Emploi par région
Emploi par métier
Fiche métiers informatiques
Nous contacter
Vous êtes recruteur ?

A Propos

Conditions générales d’utilisation
Politique de confidentialité
Droit d’accès aux données personnelles (cookies)

Social

Facebook
Twitter
Linkedin

Les Jeudis

© Copyright 2023 LesJeudis. Tous droits réservés.