3113 votes

Quelle est la différence entre les méthodes de liste de Python append et extend ?

Quelle est la différence entre les méthodes de la liste append() et extend() ?

3voto

tessie Points 362

extend(L) étend la liste en ajoutant tous les éléments de la liste donnée L .

>>> a
[1, 2, 3]
a.extend([4])  #is eqivalent of a[len(a):] = [4]
>>> a
[1, 2, 3, 4]
a = [1, 2, 3]
>>> a
[1, 2, 3]
>>> a[len(a):] = [4]
>>> a
[1, 2, 3, 4]

-1voto

ilias iliadis Points 131

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.

  1. Si vous passez une chaîne de caractères comme argument : append ajoutera un seul élément de chaîne à la fin mais extend ajoutera autant d'éléments "single" "str" que la longueur de cette chaîne.
  2. Si vous passez une liste de chaînes de caractères comme argument : append ajoutera toujours un seul élément 'liste' à la fin et extend 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,

-1voto

vivek Points 124

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]

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X