Maison > développement back-end > Tutoriel Python > 17 astuces Python utiles à partager !

17 astuces Python utiles à partager !

PHPz
Libérer: 2023-04-17 09:22:04
avant
719 Les gens l'ont consulté

17 astuces Python utiles à partager !

Texte

Bonjour à tous, je suis la technologie d'intelligence artificielle Python.

Dans cet article, nous aborderons les astuces Python les plus couramment utilisées. La plupart de ces techniques sont des astuces simples que j'utilise dans mon travail quotidien. Je pense que les bonnes choses doivent être mises en avant et partagées avec tout le monde.

Sans plus attendre, commençons ! :)

Résumé des conseils

1. Gérer plusieurs entrées de l'utilisateur

Parfois, nous avons besoin d'obtenir plusieurs entrées de l'utilisateur afin d'utiliser une boucle ou n'importe quelle itération, l'écriture générale est la suivante :

# bad practice码
n1 = input("enter a number : ")
n2 = input("enter a number : ")
n2 = input("enter a number : ")
print(n1, n2, n3)
Copier après la connexion

Mais là est une meilleure façon de le gérer comme suit :

# good practice
n1, n2, n3 = input("enter a number : ").split()
print(n1, n2, n3)
Copier après la connexion

2. Traitement de plusieurs instructions conditionnelles

Si nous devons vérifier plusieurs instructions conditionnelles dans le code, nous pouvons utiliser la fonction all() ou any() pour atteindre nos objectifs. De manière générale, all() est utilisé lorsque nous avons plusieurs conditions et et any() est utilisé lorsque nous avons plusieurs conditions ou. Cette utilisation rendra notre code plus clair et plus facile à lire, et nous aidera à éviter des problèmes lors du débogage.

L'exemple général pour all() est le suivant :

size = "lg"
color = "blue"
price = 50
# bad practice
if size == "lg" and color == "blue" and price < 100:
 print("Yes, I want to but the product.")
Copier après la connexion

La meilleure méthode de traitement est la suivante :

# good practice
conditions = [
 size == "lg",
 color == "blue",
 price < 100,
]
if all(conditions):
 print("Yes, I want to but the product.")
Copier après la connexion

L'exemple général pour any() est la suivante :

# bad practice
size = "lg"
color = "blue"
price = 50
if size == "lg" or color == "blue" or price < 100:
 print("Yes, I want to but the product.")
Copier après la connexion

La meilleure méthode de traitement est la suivante :

# good practice
conditions = [
 size == "lg",
 color == "blue",
 price < 100,
]
if any(conditions):
 print("Yes, I want to but the product.")
Copier après la connexion

3. Déterminer la parité des nombres

C'est facile à mettre en œuvre, nous obtenons l'entrée de l'utilisateur, la convertissons en un entier, vérifions l'opération de reste sur le nombre 2, si le reste est nul, alors il est pair.

print('odd' if int(input('Enter a number: '))%2 else 'even')
Copier après la connexion

4. Variables d'échange

Si nous devons échanger la valeur d'une variable en Python, nous n'avons pas besoin de définir une variable temporaire pour fonctionner. Nous utilisons généralement le code suivant pour implémenter l'échange de variables :

v1 = 100
v2 = 200
# bad practice
temp = v1
v1 = v2
v2 = temp
Copier après la connexion

Mais une meilleure méthode de traitement est la suivante :

v1 = 100
v2 = 200
# good practice
v1, v2 = v2, v1
Copier après la connexion

5 Déterminez si la chaîne est une chaîne palindrome

Le moyen le plus simple d'inverser la chaîne est [: :-. 1], le code est le suivant :

print("John Deo"[::-1])
Copier après la connexion

6. Inversez la chaîne

Pour déterminer si une chaîne est un palindrome en Python, utilisez simplement l'instruction

string.find(string[::-1]) == 0, l'exemple de code est le suivant :

v1 = "madam" # is a palindrome string
v2 = "master" # is not a palindrome string
print(v1.find(v1[::-1]) == 0) # True
print(v1.find(v2[::-1]) == 0) # False
Copier après la connexion

7. Essayez d'utiliser l'instruction if en ligne

Dans la plupart des cas, nous n'avons qu'une seule instruction après la condition, donc utiliser l'instruction if en ligne peut nous aider à écrire un code plus concis. Par exemple, la méthode d'écriture générale est :

name = "ali"
age = 22
# bad practices
if name:
 print(name)
if name and age > 18:
 print("user is verified")
Copier après la connexion

Mais une meilleure façon de gérer cela est la suivante :

# a better approach
print(name if name else "")
""" here you have to define the else condition too"""
# good practice
name and print(name)
age > 18 and name and print("user is verified")
Copier après la connexion

8 Supprimez les éléments en double dans la liste

Nous n'avons pas besoin de parcourir toute la liste pour vérifier. éléments en double, on peut simplement utiliser set() pour supprimer les éléments en double, le code est le suivant :

lst = [1, 2, 3, 4, 3, 4, 4, 5, 6, 3, 1, 6, 7, 9, 4, 0]
print(lst)
unique_lst = list(set(lst))
print(unique_lst)
Copier après la connexion

9 Trouvez les éléments les plus répétés dans la liste

En Python, vous pouvez utiliser la fonction max() et transmettre la liste. .count comme clé pour connaître le nombre de répétitions dans la liste. Pour le plus d'éléments, le code est le suivant :

lst = [1, 2, 3, 4, 3, 4, 4, 5, 6, 3, 1, 6, 7, 9, 4, 0]
most_repeated_item = max(lst, key=lst.count)
print(most_repeated_item)
Copier après la connexion

10 Génération de liste

Ma fonctionnalité préférée en Python est la compréhension de liste. code très concis et puissant, et ces codes se lisent presque comme un langage naturel. Tout aussi faciles à comprendre. Les exemples sont les suivants :

numbers = [1,2,3,4,5,6,7]
evens = [x for x in numbers if x % 2 is 0]
odds = [y for y in numbers if y not in evens]
cities = ['London', 'Dublin', 'Oslo']
def visit(city):
 print("Welcome to "+city)
for city in cities:
 visit(city)
Copier après la connexion

11. Utilisez *args pour transmettre plusieurs paramètres

En Python, nous pouvons utiliser *args pour transmettre plusieurs paramètres aux fonctions, les exemples sont les suivants :

def sum_of_squares(n1, n2)
 return n1**2 + n2**2
print(sum_of_squares(2,3))
# output: 13
"""
what ever if you want to pass, multiple args to the function
as n number of args. so let's make it dynamic.
"""
def sum_of_squares(*args):
 return sum([item**2 for item in args])
# now you can pass as many parameters as you want
print(sum_of_squares(2, 3, 4))
print(sum_of_squares(2, 3, 4, 5, 6))
Copier après la connexion

12. Parfois Au travail, nous voulons obtenir l'indice des éléments dans la boucle. De manière générale, la manière d'écrire la plus élégante est la suivante :

lst = ["blue", "lightblue", "pink", "orange", "red"]
for idx, item in enumerate(lst):
print(idx, item)
Copier après la connexion

13. Épisser plusieurs éléments dans la liste

En Python, la fonction Join(). La fonction est généralement utilisée pour rejoindre la liste. Tous les éléments sont assemblés ensemble. Bien sûr, nous pouvons également ajouter des symboles d'épissage lors de l'épissage. L'exemple est le suivant :

names = ["john", "sara", "jim", "rock"]
print(", ".join(names))
Copier après la connexion

Fusionner les deux dictionnaires

De plus, recherchez l'arrière-plan Python supérieur du compte officiel et répondez "Avancé", obtenez un coffret cadeau surprise.

En Python, nous pouvons utiliser {**dict_name, **dict_name2, …} pour fusionner plusieurs dictionnaires. L'exemple est le suivant :

d1 = {"v1": 22, "v2": 33}
d2 = {"v2": 44, "v3": 55}
d3 = {**d1, **d2}
print(d3)
Copier après la connexion

Le résultat est le suivant :

{'v1': 22, 'v2': 44, 'v3': 55}
Copier après la connexion

15 Utilisez deux listes pour générer un dictionnaire

En Python, si nous devons former un dictionnaire à partir d'éléments correspondants dans deux listes, nous pouvons alors utiliser la fonction zip pour le faire facilement. Le code est le suivant :

keys = ['a', 'b', 'c']
vals = [1, 2, 3]
zipped = dict(zip(keys, vals))
Copier après la connexion

16. Les dictionnaires sont triés par valeur

En Python, nous utilisons la fonction sorted() pour trier le dictionnaire en fonction de sa valeur. Le code est le suivant :
d = {
 "v1": 80,
 "v2": 20,
 "v3": 40,
 "v4": 20,
 "v5": 10,
}
sorted_d = dict(sorted(d.items(), key=lambda item: item[1]))
print(sorted_d)
当然我们也可以使用itemgetter( )来替代上述 lambda函数,代码如下:
from operator import itemgetter
sorted_d = dict(sorted(d.items(), key=itemgetter(1)))
Copier après la connexion

De plus, nous pouvons également. passez reverse =True pour le trier par ordre décroissant :

sorted_d = dict(sorted(d.items(), key=itemgetter(1), reverse=True))
Copier après la connexion

17. Pretty print

En utilisant la fonction Print() en Python, la sortie est parfois moche. À ce stade, nous utilisons pprint pour rendre la sortie plus belle. L'exemple est le suivant :

from pprint import pprint
data = {
 "name": "john deo",
 "age": "22",
 "address": {"contry": "canada", "state": "an state of canada :)", "address": "street st.34 north 12"},
 "attr": {"verified": True, "emialaddress": True},
}
print(data)
pprint(data)
Copier après la connexion

Le résultat est le suivant :

{'name': 'john deo', 'age': '22', 'address': {'contry': 'canada', 'state': 'an state of canada :)', 'address': 'street st.34 north 12'}, 'attr': {'verified': True, 'emialaddress': True}}
{'address': {'address': 'street st.34 north 12',
'contry': 'canada',
'state': 'an state of canada :)'},
'age': '22',
'attr': {'emialaddress': True, 'verified': True},
'name': 'john deo'}
Copier après la connexion

On peut voir que l'utilisation de la fonction pprint peut rendre la sortie du dictionnaire plus facile à lire.

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