Lorsque nous commençons à apprendre Python, nous donnons généralement la priorité à l'écriture de code qui fait le travail sans nous concentrer sur la lisibilité du code ni sur la simplicité et l'efficacité du code.
Pour être précis, c'est tout à fait bien, mais il existe des moyens de raccourcir notre code Python sans compromettre la lisibilité. Des lignes simples de code Python, tant que nous pouvons les utiliser correctement, nous pourrons alors atteindre à la fois simplicité et lisibilité !
Voici 9 codes d'une ligne que tout étudiant apprenant Python devrait connaître. Jetons un coup d'œil ~
L'instruction if-else est la première chose que nous apprenons en Python. les instructions batch, qui sont utilisées pour exécuter la partie vraie ou fausse d'une condition donnée.
Nous utilisons beaucoup cette instruction, mais saviez-vous qu'elle peut être réduite à une seule ligne de code ? Dans de nombreux cas, nous pouvons mettre les instructions if et else sur la même ligne.
age = 18 valid = "You're an adult" invalid = "You're NOT an adult" print(valid) if age >= 18 else print(invalid)
Les listes sont un moyen courant de stocker des données, mais saviez-vous que vous pouvez créer une nouvelle liste basée sur une liste existante avec une seule ligne de code ?
C'est vrai, cela s'appelle une compréhension de liste et cela fournit une syntaxe courte pour créer une liste basée sur les valeurs d'une liste existante. Les compréhensions de liste sont plus compactes que les fonctions et les boucles utilisées pour créer des listes.
Voici la syntaxe :
[expression for item in list]
Regardons un exemple :
words = ['united states', 'brazil', 'united kingdom'] capitalized = [word.title() for word in words] >>> capitalized ['United States', 'Brazil', 'United Kingdom']
Le code ci-dessus est effectivement plus beau ! Mais rappelez-vous que nous devons garder le code convivial, il n'est donc pas recommandé d'écrire de longues listes de compréhension sur une seule ligne de code.
Semblable à la dérivation de liste, il existe également la dérivation de dictionnaire en Python. La compréhension du dictionnaire fournit une syntaxe courte pour créer un dictionnaire en une seule ligne de code.
Voici la syntaxe :
{key: value for key, value in iterable}
Un exemple :
dict_numbers = {x:x*x for x in range(1,6) } >>> dict_numbers {1: 1, 2: 4, 3: 9, 4: 16, 5:25}
Il existe de nombreuses façons de fusionner des dictionnaires, nous pouvons utiliser la méthode update(), l'opérateur merge() ou même la déduction de dictionnaire.
Mais il existe un moyen plus simple de fusionner des dictionnaires en Python, et c'est en utilisant l'opérateur de décompression **. Il nous suffit d'ajouter ** devant chaque dictionnaire que nous souhaitons combiner et d'utiliser le dictionnaire supplémentaire pour stocker la sortie.
dict_1 = {'a': 1, 'b': 2} dict_2 = {'c': 3, 'd': 4} merged_dict = {**dict_1, **dict_2} >>> merged_dict {'a': 1, 'b': 2, 'c': 3, 'd': 4}
Après avoir appliqué l'opérateur ** au dictionnaire, les deux élargiront leur contenu et fusionneront pour créer un nouveau dictionnaire.
Parfois, nous devons nous assurer qu'il n'y a pas de valeurs en double dans la liste, bien qu'il n'y ait pas de moyen unique de le faire facilement, nous pouvons utiliser set pour éliminer les doublons.
set est un ensemble non ordonné où chaque élément est unique. Cela signifie que si nous transformons la liste en un ensemble, nous pouvons rapidement supprimer les doublons. Ensuite, il nous suffit de reconvertir l’ensemble en liste.
Voyons un exemple de base pour le comprendre :
numbers = [1,1,1,2,2,3,4,5,6,7,7,8,9,9,9] >>> list(set(numbers)) [1, 2, 3, 4, 5, 6, 7, 8, 9]
Chaque fois que nous avons besoin d'attribuer plusieurs variables, nous pouvons les attribuer sur une seule ligne en Python, et sur une ligne non allouée. par ligne (même à partir de variables de types différents).
a, b, c = 1, "abc",True >>> a 1 >>> b 'abc' >>> c True
C'est simple, mais il convient de noter que plus nous attribuons de variables, plus le risque de les attribuer à de mauvaises valeurs est grand, une arme à double tranchant~
Supposons que nous. Si vous souhaitez filtrer certaines valeurs d'une liste, il existe de nombreuses façons de le faire, mais une méthode simple consiste à utiliser la fonction filter().
Voici la syntaxe de la fonction filtre :
filter(function, iterable)
Ce sera mieux si on ajoute une fonction lambda à l'intérieur de la fonction filtre !
Maîtrisons-le en filtrant les nombres pairs d'une liste :
my_list = [10, 11, 12, 13, 14, 15] >>> list(filter(lambda x: x%2 == 0, my_list )) [10, 12, 14]
Trier un dictionnaire n'est pas aussi simple que trier une liste - nous ne pouvons pas utiliser sort() comme nous le pouvons avec une liste ou sorted() trie le dictionnaire.
Mais nous pouvons combiner la compréhension du dictionnaire avec la fonction sorted() pour trier le dictionnaire par clé.
Dans l'exemple ci-dessous, nous trierons le dictionnaire par nom de produit.
product_prices = {'Z': 9.99, 'Y': 9.99, 'X': 9.99} >>{key:product_prices[key] for key in sorted(product_prices.keys())} {'X': 9.99, 'Y': 9.99, 'Z': 9.99}
Semblable au tri d'un dictionnaire par clé, nous devons utiliser la fonction sorted() et la compréhension de liste pour trier le dictionnaire par valeur, mais nous devons également ajouter une fonction lambda.
Regardons d'abord tous les paramètres de la fonction sorted() :
sorted(iterable, key=None, reverse=False)
Pour trier le dictionnaire par valeur, nous devons utiliser le paramètre key. Ce paramètre accepte une fonction utilisée comme clé pour la comparaison de tri. Ici, nous pouvons utiliser les fonctions lambda pour faciliter les choses.
Supposons que nous ayons un dictionnaire contenant des valeurs de population et que nous souhaitions le trier par valeur.
population = {'USA':329.5, 'Brazil': 212.6, 'UK': 67.2} >>> sorted(population.items(), key=lambda x:x[1]) [('UK', 67.2), ('Brazil', 212.6), ('USA', 329.5)]
Maintenant, il ne reste plus qu'à ajouter la dérivation du dictionnaire.
population = {'USA':329.5, 'Brazil': 212.6, 'UK': 67.2} >>> {k:v for k, v in sorted(population.items(), key=lambda x:x[1])} {'UK': 67.2, 'Brazil': 212.6, 'USA': 329.5}
D'accord, c'est tout ce que je partage aujourd'hui.
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!