Maison  >  Article  >  développement back-end  >  Trois astuces Python pour gagner du temps !

Trois astuces Python pour gagner du temps !

王林
王林avant
2023-04-12 14:25:181356parcourir

Trois astuces Python pour gagner du temps !

Mon dernier contenu de travail : déplacement automatique de fichiers, traitement d'images et nettoyage de données. J'ai résumé quelques astuces Python pendant le processus de programmation pour rendre mon code soigné et facile à comprendre. Ensuite, je partagerai avec vous 3 astuces Python pour gagner du temps.

Trois astuces Python pour gagner du temps !

Inverser la liste

J'ai récemment eu un projet dans lequel je devais inverser la liste. Cela a été initialement réalisé par découpage. Mais en fait, vous pouvez également inverser une liste en python en utilisant la méthode intégrée reverse().

Commencez par créer une liste.

# 创建一个列表
mylist = list(np.arange(0,100))

Les deux façons d'inverser une liste sont :

# 使用切片反转列表
newlist = mylist[::-1]

# 使用内置的 reverse() 反转列表
mylist.reverse()

Les deux méthodes peuvent inverser une liste, mais il convient de noter que la fonction intégrée reverse() modifie la liste d'origine et que la méthode de découpage crée une nouvelle liste.

Comparons le temps d'exécution ⏳

Trois astuces Python pour gagner du temps !

reverse() et le temps d'exécution du découpage de liste

Évidemment, la fonction intégrée reverse() est 3 fois plus rapide que la méthode de découpage de liste !

Dans mon projet de travail, afin d'obtenir un déplacement automatique des fichiers système, j'ai créé une liste de valeurs d'emplacement. Le premier programme Python a été écrit en utilisant le découpage de liste. Maintenant, j'ai réécrit le code pour utiliser la fonction reverse() afin que le programme s'exécute plus rapidement.

D’accord, introduisons la deuxième technique.

Échanger deux valeurs avec une seule ligne de code

Échanger deux valeurs variables avec une seule ligne de code est une manière véritablement pythonique.

Contrairement à d'autres langages de programmation, Python n'a pas besoin d'utiliser des variables temporaires pour échanger deux nombres ou valeurs. Prenons un exemple simple :

# 创建两个变量
variable_1 = 100 
variable_2 = 500

Pour échanger les valeurs de variable_1 et variable_2, il vous suffit d'utiliser une seule ligne de code.

变量_2,变量_1 = 变量_1,变量_2

Utilisez une ligne de code pour échanger deux valeurs, ce qui est simplifié sous la forme suivante.

Trois astuces Python pour gagner du temps !

Bien sûr, mon projet de travail actuel est un peu plus compliqué que cela, utilisant un dictionnaire avec une liste comme valeur pour chaque clé.

md[key_2],md[key_1] = md[key_1],md[key_2]

Grâce aux conseils ci-dessus, mon travail a permis d'économiser plusieurs itérations et transformations de données complexes, réduisant ainsi le temps d'exécution.

Utiliser des boucles for à l'intérieur des fonctions

Nous aimons tous créer des fonctions personnalisées pour effectuer nos propres tâches spécifiques. Utilisez ensuite une boucle for pour itérer ces fonctions et répétez la tâche plusieurs fois.

Cependant, l'utilisation d'une fonction dans une boucle for prend plus de temps d'exécution car la fonction est appelée à chaque itération.

En revanche, si la boucle for est implémentée dans une fonction, alors la fonction ne sera appelée qu'une seule fois.

Pour expliquer plus clairement, donnons un exemple !

Créez d'abord une liste de chaînes simple :

listofstrings = ['苹果','橙子','香蕉','菠萝','葡萄']

Créez deux fonctions, avec des boucles for à l'intérieur et à l'extérieur des fonctions, en commençant par la plus simple.

# 在函数内部创建一个没有for循环的函数
def onlyfunction(x):
    newstring = x.capitalize()
    outputstring = x + " " + newstring
    print(outputstring)

et une fonction for avec une boucle à l'intérieur.

# 创建一个函数,其中 for 循环在函数内部
def forinfunction(listofstrings):
    for x in listofstrings:
        newstring = x.capitalize()
        outputstring = x + " " + newstring
        print(outputstring)

Utilisons ces fonctions et voyons le résultat.

Trois astuces Python pour gagner du temps !

Évidemment, les résultats de sortie des deux fonctions sont les mêmes.

Cependant, l’histoire ne s’arrête pas là. Comparons, lequel est le plus rapide ?

Trois astuces Python pour gagner du temps !

Comme vous pouvez le constater, utiliser une boucle for à l'intérieur d'une fonction est légèrement plus rapide.

Dans un autre de mes projets, j'ai dû faire face à de nombreuses tâches complexes de traitement d'images. En comparaison, utiliser une boucle for dans une fonction est 1,5 fois plus rapide que d’appeler la même fonction à chaque itération. Bien sûr, ce ne sont que mes expériences personnelles, mais elles peuvent être utiles si vous rencontrez des situations similaires.

En bref, vous pouvez utiliser davantage les fonctions intégrées de Python. pour améliorer la vitesse de vos programmes Python tout en gardant le code concis et facile à comprendre.

Si vous souhaitez en savoir plus sur les fonctions intégrées de Python, vous pouvez vous référer au tableau ci-dessous, ou consulter le site Web ci-dessous :

https://www.php.cn/link/3dfe2f633108d604df160cd1b01710db

Trois astuces Python pour gagner du temps !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer