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

17 astuces Python utiles à partager !

PHPz
PHPzavant
2023-04-17 09:22:04721parcourir

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)

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)

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.")

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.")

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.")

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.")

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')

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

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

v1 = 100
v2 = 200
# good practice
v1, v2 = v2, v1

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])

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

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")

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")

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)

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)

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)

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))

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)

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))

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)

Le résultat est le suivant :

{'v1': 22, 'v2': 44, 'v3': 55}

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))

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)))

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))

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)

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'}

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!

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