Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Classe « list » Python 3.12.1

Méthode builtins.list.append

Signature de la méthode append

 def append(self, value) -> None

Description

Ajoute une nouvelle valeur à la fin de la liste courante. Les listes Python n'étant pas typées, il n'y a aucune limitation sur la nature de la valeur ajoutée.

la méthode append est « thread-safe ». Si plusieurs threads travaillent simultanément sur la même liste, chaque insertion de valeur sera garantie.

help(list.append)

Append object to the end of the list.

Paramètres

ParamètreDescription
 self : list 
La liste courante. Rappel : self est implicitement passée lors de l'appel de la méthode.
 value : object 
La nouvelle valeur à ajouter à la liste.

Valeur de retour

Cette méthode ne renvoie aucune valeur.

Exemple(s) de code

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
#!/usr/bin/python3

data = []       # Une liste vide
    
while True:
    strValue = input("Entrez une valeur entière : ")
    if strValue == "exit":
        break
    try:
        value = int(strValue)
        data.append(value)    # On ajoute la valeur à la fin de la liste
    except ValueError:
        print("La valeur renseignée n'est pas entière:", strValue)
            
print("Voici l'ensemble des valeurs renseignées : ")
print(data)
Exemple d'ajout de texte à la suite d'une liste

Et voici un exemple d'exécution de ce programme :

Entrez une valeur entière : 10
Entrez une valeur entière : 20
Entrez une valeur entière : 30
Entrez une valeur entière : exit
Voici l'ensemble des valeurs renseignées : 
[10, 20, 30]

Ce second exemple montre l'aspect « thread-safe » de la méthode append.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
 12 
 13 
 14 
 15 
 16 
 17 
 18 
 19 
 20 
 21 
 22 
 23 
 24 
 25 
#!/usr/bin/python3
import threading

collection = []

# On crée une classe de thread permettant d'ajouter 10 000 000 
# de valeur dans la collection précédente.
class Adder(threading.Thread):
    
    def run(self):
        for value in range(10_000_000):
            collection.append(value)
            
# On lance 10 threads sur le code ci-dessus.
threads = []
for i in range(10):
    threads.append(Adder())
    threads[i].start()
    
# On attend que les 10 threads soient terminés
for i in range(10):
    threads[i].join()

# Au final, on doit afficher une taille de liste de 100 000 000
print("La collection contient", len(collection), "entries")
Aspect thread-safe de la méthode append.

Voir aussi

Classe dict
Classe set

Méthode list.extend
Méthode list.insert