Python >> Tutoriel Python >  >> Python

Ajout d'une ligne Python

Voulez-vous unifier le append() méthode en Python ? Je te comprends - écrire des lignes courtes et concises peut être une dépendance ! 🙂

Cet article vous apprendra toutes les façons d'ajouter un ou plusieurs éléments à une liste en une seule ligne de code Python !

Ajout de liste Python

Récapitulons rapidement la méthode append qui permet d'ajouter un élément arbitraire à une liste donnée.

Comment ajouter un élément à une liste donnée ? Utilisez le append() méthode en Python.

Définition et utilisation

Le list.append(x) méthode—comme son nom l'indique—ajoute l'élément x à la fin du list .

Voici un court exemple :

>>> l = []
>>> l.append(42)
>>> l
[42]
>>> l.append(21)
>>> l
[42, 21]

Dans la première ligne de l'exemple, vous créez la liste l . Vous ajoutez ensuite l'élément entier 42 à la fin de la liste. Le résultat est la liste à un élément [42] . Enfin, vous ajoutez l'élément entier 21 à la fin de cette liste qui donne la liste à deux éléments [42, 21] .

Syntaxe

Vous pouvez appeler cette méthode sur chaque objet de liste en Python. Voici la syntaxe :

list.append(element)

Argumentation

Argument Description
element L'objet que vous souhaitez ajouter à la liste.

Articles associés :

  • Le guide ultime des listes Python
  • Méthode List.append() — Un guide illustré simple

Ajouter une liste de lignes Python

Problème :Comment pouvez-vous créer une liste et ajouter un élément à une liste en utilisant une seule ligne de code Python ?

Vous pouvez trouver cela difficile car vous devez accomplir deux choses sur une seule ligne :(1) créer la liste et (2) y ajouter un élément.

Solution  :Nous utilisons la technique standard pour unifier chaque extrait de code multiligne "plat" :avec le point-virgule comme séparateur entre les expressions.

a = [1, 2, 3]; a.append(42); print(a)

De cette façon, nous accomplissons trois choses dans une seule ligne de code Python :

  • Création de la liste [1, 2, 3] et en l'affectant à la variable a .
  • Ajouter l'élément 42 à la liste référencée par a .
  • Imprimer la liste dans le shell.

Article connexe : Python une ligne à plusieurs lignes

Python une ligne pour ajouter

Problème  :Comment pouvons-nous ajouter plusieurs éléments à une liste dans une boucle for mais en utilisant une seule ligne de code Python ?

Exemple :Supposons que vous souhaitiez filtrer une liste de mots par rapport à une autre liste et stocker les mots résultants dans une nouvelle liste à l'aide de la méthode append() dans une boucle for.

# FINXTER TUTORIAL:
# How to filter a list of words?

words = ['hi', 'hello', 'Python', 'a', 'the']
stop_words = {'a', 'the'}
filtered_words = []

for word in words:
    if word not in stop_words:
        filtered_words.append(word)

print(filtered_words)
# ['hi', 'hello', 'Python']

Vous créez d'abord une liste de mots à filtrer et à stocker dans une liste initialement vide filtered_words . Deuxièmement, vous créez un ensemble de mots vides contre lesquels vous souhaitez vérifier les mots de la liste. Notez qu'il est beaucoup plus efficace d'utiliser la structure de données d'ensemble pour cela, car la vérification de l'appartenance aux ensembles est beaucoup plus rapide que la vérification de l'appartenance aux listes. Consultez ce didacticiel pour un guide complet sur les ensembles Python.

Vous parcourez maintenant tous les éléments de la liste words et ajoutez-les au filtered_words list s'ils ne sont pas dans l'ensemble stop_words .

Solution  : vous pouvez aligner ce processus de filtrage à l'aide du code suivant :

filtered_words = [word for word in words if word not in stop_words]

La solution utilise la compréhension de liste pour, essentiellement, créer une boucle for sur une seule ligne.

Voici le code complet qui résout le problème en utilisant la méthode de filtrage à une ligne :

# FINXTER TUTORIAL:
# How to filter a list of words?

words = ['hi', 'hello', 'Python', 'a', 'the']
stop_words = {'a', 'the'}
filtered_words = [word for word in words if word not in stop_words]

print(filtered_words)
# ['hi', 'hello', 'Python']

Voici un petit tutoriel sur le filtrage au cas où vous auriez besoin de plus d'explications :

Article connexe :Comment filtrer une liste en Python ?

Python une ligne si ajout

Dans l'exemple précédent, vous avez déjà vu comment utiliser l'instruction if dans l'instruction de compréhension de liste pour ajouter plus d'éléments à une liste s'ils remplissent une condition donnée.

Comment pouvez-vous filtrer une liste en Python en utilisant une condition arbitraire ? Le moyen le plus Pythonic et le plus performant est d'utiliser la compréhension de liste [x for x in list if condition] pour filtrer tous les éléments d'une liste.

Essayez-le vous-même :

La façon la plus Pythonic de filtrer une liste - à mon avis - est la déclaration de compréhension de liste [x for x in list if condition] . Vous pouvez remplacer condition par n'importe quelle fonction de x vous souhaitez utiliser comme condition de filtrage.

Par exemple, si vous souhaitez filtrer tous les éléments inférieurs à, disons, 10, vous utiliserez l'instruction de compréhension de liste [x for x in list if x<10] pour créer une nouvelle liste avec tous les éléments de liste inférieurs à 10.

Voici trois exemples de filtrage d'une liste :

  • Obtenir des éléments inférieurs à huit :[x for x in lst if x<8] .
  • Obtenir les éléments pairs :[x for x in lst if x%2==0] .
  • Obtenir des éléments impairs :[x for x in lst if x%2] .
lst = [8, 2, 6, 4, 3, 1]

# Filter all elements <8
small = [x for x in lst if x<8]
print(small)


# Filter all even elements
even = [x for x in lst if x%2==0]
print(even)

# Filter all odd elements
odd = [x for x in lst if x%2]
print(odd)

La sortie est :

# Elements <8
[2, 6, 4, 3, 1]

# Even Elements
[8, 2, 6, 4]

# Odd Elements
[3, 1]

C'est le moyen le plus efficace de filtrer une liste et c'est aussi le plus pythonique. Si vous cherchez des alternatives, continuez à lire car je vais vous expliquer chaque nuance des listes de filtrage en Python dans ce guide complet.

Python ajoute une ligne au fichier

Problème :Étant donné une chaîne et un nom de fichier. Comment écrire la chaîne dans le fichier avec le nom de fichier en utilisant une seule ligne de code Python ?

Exemple :Vous avez le nom de fichier 'hello.txt' et vous voulez écrire la chaîne 'hello world!' dans le fichier.

hi = 'hello world!'
file = 'hello.txt'

# Write hi in file

'''
# File: 'hello.txt':
hello world!
'''

Comment y parvenir ? Dans ce didacticiel, vous apprendrez quatre façons de le faire en une seule ligne de code !

Voici un aperçu rapide dans notre shell Python interactif :

Exercice :Exécutez le code et vérifiez le fichier 'hello.txt' . Combien de 'hello worlds!' y en a-t-il dans le dossier ? Modifiez le code afin qu'un seul 'hello world!' est dans le fichier !

Le moyen le plus simple consiste à utiliser le with déclaration sur une seule ligne (sans saut de ligne).

hi = 'hello world!'
file = 'hello.txt'

# Method 1: 'with' statement
with open(file, 'a') as f: f.write(hi)

'''
# File: 'hello.txt':
hello world!
'''

Vous utilisez les étapes suivantes :

  • Le with environnement garantit qu'il n'y a pas d'effets secondaires tels que des fichiers ouverts.
  • Le open(file, 'a') l'instruction ouvre le fichier avec le nom de fichier file et ajoute le texte que vous écrivez au contenu du fichier. Vous pouvez également utiliser open(file, 'w') pour écraser le contenu du fichier existant.
  • Le nouveau fichier renvoyé par le open() l'instruction est nommée f .
  • Dans le with corps, vous utilisez l'instruction f.write(string) écrire string dans le fichier f . Dans notre exemple, la chaîne est 'hello world!' .

Bien sûr, une meilleure façon d'écrire ceci en deux lignes serait d'utiliser une indentation appropriée :

with open(file, 'a') as f:
    f.write(hi)

C'est la manière la plus connue d'écrire une chaîne dans un fichier. Le gros avantage est que vous n'avez pas à fermer le fichier - le with l'environnement le fait pour vous ! C'est pourquoi de nombreux codeurs considèrent qu'il s'agit de la méthode la plus Pythonique.

Vous pouvez trouver plus de moyens sur mon article de blog détaillé.

Article connexe : Python One-Liner :Écrire une chaîne dans un fichier

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

Humour de programmeur – Blockchain