Cinq conseils Python pour sauver des vies

WBOY
Libérer: 2023-04-12 21:19:09
avant
1359 Les gens l'ont consulté

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 :

  • Opérations sur les chaînes
  • Dérivation de liste
  • Fonctions lambda et map()
  • if, elif et autres expressions sur une seule ligne
  • fonction zip()

Cinq conseils Python pour sauver des vies

1. Opération sur les chaînes (https://jq../?_wv=1027&k=UEbz4NcQ)

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
Copier après la connexion

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]
Copier après la connexion

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!
Copier après la connexion

Utilisez la méthode .join(), '' (espace) pour connecter tous les mots de la liste inversée, et ajoutez un point d'exclamation !.

2. La dérivation de liste (https://jq../?_wv=1027&k=UEbz4NcQ)

Cinq conseils Python pour sauver des vies

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
Copier après la connexion

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]
Copier après la connexion

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]
Copier après la connexion

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
Copier après la connexion

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]
Copier après la connexion

3 Fonction Lambda & Map (https://jq../?_wv=1027&k=UEbz4NcQ)

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]
Copier après la connexion

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]
Copier après la connexion

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]
Copier après la connexion

Fonction Map

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]
Copier après la connexion

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]
Copier après la connexion

Cinq conseils Python pour sauver des vies

4.if-else expression sur une seule ligne (https://jq.com/?_wv=1027&k=UEbz4NcQ)

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")
Copier après la connexion

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")
Copier après la connexion

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.

Cinq conseils Python pour sauver des vies

Fonction 5.zip() (https://jq..com/?_wv=1027&k=UEbz4NcQ)

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']
Copier après la connexion

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!

Étiquettes associées:
source:51cto.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!