Python >> Tutoriel Python >  >> Python

Ajout d'une ligne pour la boucle Python

Problème :Comment ajouter des éléments à une liste en utilisant une seule ligne pour la boucle ?

Exemple  :Vous espérez accomplir quelque chose comme ceci où vous créez une liste initiale (celle-ci est vide) et vous y ajoutez plusieurs éléments :

# WRONG CODE:
>>> [].append(i) for i in range(5)
[0, 1, 2, 3, 4]

Cependant, cette déclaration ne fonctionne pas! Existe-t-il une boucle for sur une ligne pour ajouter des éléments à une liste donnée ?

Plongeons dans plusieurs méthodes pour y parvenir ! Voici un bref aperçu :

Exercice  :Pouvez-vous modifier le code pour ajouter des éléments dans un tuple à la liste donnée dans une seule ligne de code ?

Plongeons-nous plus en détail dans les trois méthodes !

Méthode 1 :Utiliser la compréhension de liste

Si vous n'avez pas besoin d'ajouter d'éléments à une liste donnée mais que vous pouvez créer une nouvelle liste, la compréhension de la liste est votre meilleur atout !

# Method 1
lst = [i for i in range(5)]
print(lst)
# [0, 1, 2, 3, 4]

Cette ligne unique atteint le résultat souhaité, mais crée une nouvelle liste. Récapitulons rapidement le fonctionnement de la compréhension de liste dans cette vidéo :

La compréhension de liste est une manière compacte de créer des listes. La formule simple est [expression + context] .

  • Expression : Que faire de chaque élément de la liste ?
  • Contexte : Quels éléments sélectionner ? Le contexte consiste en un nombre arbitraire de for et if déclarations.

L'exemple [x for x in range(3)] crée la liste [0, 1, 2] .

Mais existe-t-il un autre moyen si vous avez une liste et que vous souhaitez simplement ajouter des éléments à cette liste ?

Méthode 2 :boucle For sur une seule ligne avec append()

Bien sûr! Vous pouvez écrire des blocs sur une seule ligne, si le corps du bloc lui-même n'est pas imbriqué !

# Method 2
friends = ['Ann', 'Alice']
new_friends = ['Bob', 'Liz']

# One-Liner:
for f in new_friends: friends.append(f)

# Results
print(friends)
# ['Ann', 'Alice', 'Bob', 'Liz']

Vous utilisez le list.append() méthode à plusieurs reprises pour chaque élément dans le new_friends itérable qui contient les éléments à ajouter à la liste d'origine friends . Le fait que la boucle for soit compressée en une seule ligne ne rend pas cette ligne ambiguë, donc Python est d'accord avec cela.

Méthode 3 :étendre()

Cependant, une bien meilleure option pour ajouter tous les éléments d'un itérable donné à une liste donnée consiste à utiliser le list.extend() méthode :

# Method 3
friends = ['Ann', 'Alice']
new_friends = ['Bob', 'Liz']

# One-Liner:
friends.extend(new_friends)

# Results
print(friends)
# ['Ann', 'Alice', 'Bob', 'Liz']

Le one-liner est beaucoup plus court et encore plus rapide. Vous pouvez trouver une comparaison de vitesse détaillée ici.

Livre Python One-Liners :maîtrisez d'abord la ligne unique !

Les programmeurs Python amélioreront leurs compétences en informatique avec ces lignes utiles.

Python One-Liners vous apprendra à lire et à écrire des « lignes simples » :des déclarations concises de fonctionnalités utiles regroupées dans une seule ligne de code. Vous apprendrez à décompresser et à comprendre systématiquement n'importe quelle ligne de code Python, et à écrire du Python éloquent et puissamment compressé comme un expert.

Les cinq chapitres du livre couvrent (1) les trucs et astuces, (2) les expressions régulières, (3) l'apprentissage automatique, (4) les principaux sujets de science des données et (5) les algorithmes utiles.

Des explications détaillées des one-liners introduisent les concepts clés de l'informatique etdéveloppez vos compétences en matière de codage et d'analyse . Vous découvrirez les fonctionnalités Python avancées telles que la compréhension de liste , tranchage , fonctions lambda , expressions régulières , carte et réduire fonctions et affectations de tranches .

Vous apprendrez également à :

  • Exploiter les structures de données pour résoudre des problèmes réels , comme utiliser l'indexation booléenne pour trouver des villes avec une pollution supérieure à la moyenne
  • Utiliser les bases de NumPy comme tableau , forme , axe , tapez , diffusion , indexation avancée , tranchage , tri , recherche , agrégation , et statistiques
  • Calculer des statistiques de base de tableaux de données multidimensionnels et les algorithmes K-Means pour l'apprentissage non supervisé
  • Créer davantage d'expressions régulières avancées en utilisant le regroupement et groupes nommés , anticipations négatives , caractères échappés , espaces blancs, jeux de caractères (et jeux de caractères négatifs ) et opérateurs gourmands/non gourmands
  • Comprendre un large éventail de sujets informatiques , y compris les anagrammes , palindromes , surensembles , permutations , factorielles , nombres premiers , Fibonacci chiffres, obscurcissement , recherche , et tri algorithmique

À la fin du livre, vous saurez comment écrire Python dans sa forme la plus raffinée , et créez de belles pièces concises d'"art Python" en une seule ligne.

Obtenez vos Python One-Liners sur Amazon !!