Quelle est la différence entre les méthodes de la liste append()
et extend()
?
Réponses
Trop de publicités?append
"prolonge" la liste (en place) en un seul élément l'objet unique passé (comme argument).
extend
"prolonge" la liste (en place) en autant d'articles que l'objet passé (en argument) contient.
Cela peut être légèrement déroutant pour str
objets.
- Si vous passez une chaîne de caractères comme argument :
append
ajoutera un seul élément de chaîne à la fin maisextend
ajoutera autant d'éléments "single" "str" que la longueur de cette chaîne. - Si vous passez une liste de chaînes de caractères comme argument :
append
ajoutera toujours un seul élément 'liste' à la fin etextend
ajoutera autant d'éléments de la 'liste' que la longueur de la liste passée.
def append_o(a_list, element): a_list.append(element) print('append:', end = ' ') for item in a_list: print(item, end = ',') print() def extend_o(a_list, element): a_list.extend(element) print('extend:', end = ' ') for item in a_list: print(item, end = ',') print() append_o(['ab'],'cd') extend_o(['ab'],'cd') append_o(['ab'],['cd', 'ef']) extend_o(['ab'],['cd', 'ef']) append_o(['ab'],['cd']) extend_o(['ab'],['cd'])
produit :
append: ab,cd,
extend: ab,c,d,
append: ab,['cd', 'ef'],
extend: ab,cd,ef,
append: ab,['cd'],
extend: ab,cd,
Append et extend sont l'un des mécanismes d'extensibilité de Python.
Append : Ajoute un élément à la fin de la liste.
my_list = [1,2,3,4]
Pour ajouter un nouvel élément à la liste, nous pouvons utiliser la méthode append de la manière suivante.
my_list.append(5)
L'emplacement par défaut où le nouvel élément sera ajouté est toujours dans la position (longueur+1).
Insertion : La méthode d'insertion a été utilisée pour surmonter les limites de l'append. Avec insert, nous pouvons définir explicitement la position exacte à laquelle nous voulons que notre nouvel élément soit inséré.
Descripteur de la méthode insert(index, objet). Elle prend deux arguments, le premier étant l'index dans lequel nous voulons insérer notre élément et le second l'élément lui-même.
Example: my_list = [1,2,3,4]
my_list[4, 'a']
my_list
[1,2,3,4,'a']
Étendre : Ceci est très utile lorsque nous voulons joindre deux ou plusieurs listes en une seule liste. Sans extend, si nous voulons joindre deux listes, l'objet résultant contiendra une liste de listes.
a = [1,2]
b = [3]
a.append(b)
print (a)
[1,2,[3]]
Si nous essayons d'accéder à l'élément en position 2, nous obtenons une liste ([3]), au lieu de l'élément. Pour joindre deux listes, nous devrons utiliser append.
a = [1,2]
b = [3]
a.extend(b)
print (a)
[1,2,3]
Pour joindre plusieurs listes
a = [1]
b = [2]
c = [3]
a.extend(b+c)
print (a)
[1,2,3]
- Réponses précédentes
- Plus de réponses