Quelle est la différence entre les méthodes de la liste append()
et extend()
?
Réponses
Trop de publicités?append(object)
- Met à jour la liste en ajoutant un objet à la liste.
x = [20]
# List passed to the append(object) method is treated as a single object.
x.append([21, 22, 23])
# Hence the resultant list length will be 2
print(x)
--> [20, [21, 22, 23]]
extend(list)
- Concatène essentiellement deux listes.
x = [20]
# The parameter passed to extend(list) method is treated as a list.
# Eventually it is two lists being concatenated.
x.extend([21, 22, 23])
# Here the resultant list's length is 4
print(x)
[20, 21, 22, 23]
extend()
peut être utilisé avec un argument itérateur. Voici un exemple. Vous souhaitez créer une liste à partir d'une liste de listes de cette manière :
De
list2d = [[1,2,3],[4,5,6], [7], [8,9]]
vous voulez
>>>
[1, 2, 3, 4, 5, 6, 7, 8, 9]
Vous pouvez utiliser itertools.chain.from_iterable()
pour le faire. La sortie de cette méthode est un itérateur. Son implémentation est équivalente à
def from_iterable(iterables):
# chain.from_iterable(['ABC', 'DEF']) --> A B C D E F
for it in iterables:
for element in it:
yield element
Pour revenir à notre exemple, nous pouvons faire
import itertools
list2d = [[1,2,3],[4,5,6], [7], [8,9]]
merged = list(itertools.chain.from_iterable(list2d))
et obtenir la liste des personnes recherchées.
Voici comment procéder de manière équivalente extend()
peut être utilisé avec un argument itérateur :
merged = []
merged.extend(itertools.chain.from_iterable(list2d))
print(merged)
>>>
[1, 2, 3, 4, 5, 6, 7, 8, 9]
append() : Il est essentiellement utilisé en Python pour ajouter un élément.
Exemple 1 :
a = [1, 2, 3, 4] a.append(5) print(a) a = [1, 2, 3, 4, 5]
Exemple 2 :
a = [1, 2, 3, 4] a.append([5, 6]) print(a) a = [1, 2, 3, 4, [5, 6]]
extend() : Où extend(), est utilisé pour fusionner deux listes ou insérer plusieurs éléments dans une liste.
Exemple 1 :
a = [1, 2, 3, 4] b = [5, 6, 7, 8] a.extend(b) print(a) a = [1, 2, 3, 4, 5, 6, 7, 8]
Exemple 2 :
a = [1, 2, 3, 4] a.extend([5, 6]) print(a) a = [1, 2, 3, 4, 5, 6]