Maison > Article > développement back-end > Cinq conseils Python pour sauver des vies
Python est un langage puissant et facile à utiliser avec une syntaxe concise et élégante. Il n'est pas aussi lourd et absurde que Java, et certaines fonctions ou syntaxes spéciales peuvent rendre le code plus court et plus concis.
Basés sur l'expérience de l'auteur, voici 5 astuces Python couramment utilisées :
Python sait utiliser des opérateurs mathématiques (tels que + et *) pour opérer sur des chaînes : - + épissage String - * Chaîne répétitive
my_string = "Hi Python..!"print(my_string * 2)#Hi Python..!Hi Python..!print(my_string + " I love Python" * 2)#Hi Python..! I love Python I love Python
Vous pouvez également facilement inverser une chaîne en utilisant l'opération slice [::-1], et cela ne se limite pas aux chaînes (comme le retournement de liste) !
my_string = "Hi Python..!"print(my_string[::-1])# !..nohtyP iHmy_list = [1,2,3,4,5] print(my_list[::-1])# [5, 4, 3, 2, 1]
Ce qui suit est une liste de mots inversés et concaténés dans une chaîne :
word_list = ["awesome", "is", "this"]print(' '.join(word_list[::-1]) + '!') #this is awesome!
Utilisez la méthode .join(), '' (espace) pour connecter tous les mots de la liste inversée, et ajoutez un point d'exclamation !.
La dérivation de liste, une technique qui peut changer votre vision du monde ! Il s'agit d'un moyen très puissant, intuitif et lisible d'effectuer des opérations rapides sur des listes. De plus, recherchez l'arrière-plan Python supérieur du compte public et répondez « Internet des objets » pour obtenir un coffret cadeau surprise.
Supposons qu'il existe une fonction aléatoire qui renvoie le carré d'un nombre et ajoute 5 :
def stupid_func(x): return x**2 + 5
Maintenant, si vous souhaitez appliquer la fonction stupid_func() à tous les nombres impairs de la liste, si vous n'utilisez pas la dérivation de liste , la manière stupide est la suivante :
def stupid_func(x): return x**2 + 5my_list = [1, 2, 3, 4, 5] new_list = []for x in my_list: if x % 2 != 0: new_list.append(stupid_func(x)) print(new_list)#[6, 14, 30]
Si vous utilisez la dérivation de liste, le code devient instantanément élégant :
def stupid_func(x): return x**2 + 5my_list = [1, 2, 3, 4, 5] print([stupid_func(x) for x in my_list if x % 2 != 0])#[6, 14, 30]
La syntaxe de la dérivation de liste : [ expression pour l'élément dans la liste ]. peut également ajouter une condition de jugement, telle que la condition "nombre impair" ci-dessus : [expression pour l'élément de la liste si conditionnelle]. Essentiellement, ce que fait le code suivant :
for item in list: if conditional: expression
Very Cool ! . Mais vous pouvez aller plus loin et omettre directement la fonction studid_func() :
my_list = [1, 2, 3, 4, 5]print([x ** 2 + 5 for x in my_list if x % 2 != 0])#[6, 14, 30]
Lambda a l'air un peu étrange, mais. étrange Les fonctions sont généralement très puissantes et intuitives une fois que vous les maîtrisez, économisant ainsi beaucoup de code absurde.
Fondamentalement, une fonction Lambda est une petite fonction anonyme. Pourquoi anonyme ?
Parce que Lambda est le plus souvent utilisé pour effectuer des opérations simples, mais n'a pas besoin d'être aussi sérieux que def my_function(), donc Lambda est également appelée une fonction occasionnelle (inventée, ignorez-la).
Améliorez l'exemple ci-dessus : def stupid_func(x) peut être remplacé par une fonction Lambda sur une ligne :
stupid_func = (lambda x : x ** 2 + 5) print([stupid_func(1), stupid_func(3), stupid_func(5)])#[6, 14, 30]
Alors pourquoi utiliser cette syntaxe étrange ? Cela devient utile lorsque vous souhaitez effectuer des opérations simples sans définir de fonctions réelles.
Prenons une liste de nombres comme exemple. Supposons que la liste soit triée ? Une solution consiste à utiliser la méthode sorted() :
my_list = [2, 1, 0, -1, -2] print(sorted(my_list))#[-2, -1, 0, 1, 2]
La fonction sorted() peut terminer le tri, mais que se passe-t-il si vous souhaitez trier par le carré de chaque nombre ? À l'heure actuelle, la fonction lambda peut être utilisée pour définir la clé de tri clé, qui est également utilisée par la méthode sorted() pour déterminer comment trier :
my_list = [2, 1, 0, -1, -2] print(sorted(my_list, key = lambda x : x ** 2))#[0, -1, 1, -2, 2]
map est une fonction intégrée en Python qui mappera la séquence spécifiée en fonction de la fonction fournie. Supposons que vous ayez une liste et que vous souhaitiez multiplier chaque élément de la liste par l’élément correspondant dans une autre liste. Comment procéder ? Utilisez les fonctions et les cartes lambda !
print(list(map(lambda x, y : x * y, [1, 2, 3], [4, 5, 6]))) #[4, 10, 18]
Contrairement à ce code absurde habituel, simple et élégant :
x, y = [1, 2, 3], [4, 5, 6] z = []for i in range(len(x)): z.append(x[i] * y[i])print(z) #[4, 10, 18]
dans votre code Quelque part , il peut y avoir une instruction conditionnelle absurde comme celle-ci :
x = int(input())if x >= 10:print("Horse") elif 1 < x < 10:print("Duck")else:print("Baguette")
Lors de l'exécution du programme, il vous invite à saisir une information à partir de la fonction input(), comme saisir 5 pour obtenir Duck. Mais en fait, vous pouvez également compléter le tout avec une seule ligne de code :
print("Horse" if x >= 10 else "Duck" if 1 < x < 10 else "Baguette")
Une ligne de code est simple et directe. En parcourant votre ancien code, vous constaterez que de nombreux jugements peuvent être réduits à un seul if-else ! -expression en ligne.
Vous souvenez-vous encore de la multiplication au niveau du bit de deux éléments de liste dans la partie fonction map() ?
zip() rend les choses encore plus faciles. Supposons qu'il y ait deux listes, une contenant les prénoms et l'autre les noms de famille. Comment les fusionner dans l'ordre ? Utilisez zip() !
first_names = ["Peter", "Christian", "Klaus"] last_names = ["Jensen", "Smith", "Nistrup"]print([' '.join(x) for x in zip(first_names, last_names)]) #['Peter Jensen', 'Christian Smith', 'Klaus Nistrup']
Les 5 petits conseils listés ci-dessus, j'espère qu'ils vous seront utiles.
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!