Elementen toevoegen aan een lijst (array) in Python: append(), extend(), insert()

Bedrijf

Om een element toe te voegen aan een lijst (array) van het type lijst in Python, of om een andere lijst te combineren, gebruik je de lijstmethodes append(), extend(), en insert(). Je kan ook de + operator of slice gebruiken om een positie op te geven en toe te wijzen.

De volgende informatie wordt hier verstrekt.

  • Elementen toevoegen aan het eind:append()
  • Een andere lijst of tupel aan het eind samenvoegen (aaneenschakelen): extend(),+operator
  • Voegt een element toe op de opgegeven positie.:insert()
  • Een andere lijst of tupel toevoegen (invoegen) op de opgegeven positie:plak

Elementen toevoegen aan het eind: append()

Met de append() methode van de lijst, kun je elementen toevoegen aan het einde (laatste). Als je het op een andere positie dan het einde wilt toevoegen, zoals bovenaan, gebruik je insert() zoals hieronder beschreven.

l = list(range(3))
print(l)
# [0, 1, 2]

l.append(100)
print(l)
# [0, 1, 2, 100]

l.append('new')
print(l)
# [0, 1, 2, 100, 'new']

Lijsten worden ook als één enkel element toegevoegd. Zij worden niet gecombineerd.

l.append([3, 4, 5])
print(l)
# [0, 1, 2, 100, 'new', [3, 4, 5]]

Een andere lijst of tupel aan het eind samenvoegen (aaneenschakelen): extend(), +operator

Met de lijst methode extend(), kun je een andere lijst of tupel aan het einde (het einde) toevoegen. Alle elementen zullen worden toegevoegd aan het einde van de oorspronkelijke lijst.

l = list(range(3))
print(l)
# [0, 1, 2]

l.extend([100, 101, 102])
print(l)
# [0, 1, 2, 100, 101, 102]

l.extend((-1, -2, -3))
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3]

Merk op dat elk karakter (element) één karakter per keer aan de string wordt toegevoegd.

l.extend('new')
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w']

Het is ook mogelijk om aaneenschakelingen te maken met de + operator in plaats van de extend() methode.

+ operator, wordt een nieuwe lijst geretourneerd.+=Dit zal u ook toelaten om het aan een bestaande lijst toe te voegen.

l2 = l + [5, 6, 7]
print(l2)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

l += [5, 6, 7]
print(l)
# [0, 1, 2, 100, 101, 102, -1, -2, -3, 'n', 'e', 'w', 5, 6, 7]

Voegt een element toe op de opgegeven positie.: insert()

De lijstmethode insert() kan een element toevoegen (invoegen) op een opgegeven positie.

Het eerste argument specificeert de positie, en het tweede argument specificeert het element dat moet worden ingevoegd. De eerste (initiële) positie is 0; voor negatieve waarden is -1 de laatste (finale) positie.

l = list(range(3))
print(l)
# [0, 1, 2]

l.insert(0, 100)
print(l)
# [100, 0, 1, 2]

l.insert(-1, 200)
print(l)
# [100, 0, 1, 200, 2]

Net als bij append() wordt de lijst als een enkel element toegevoegd. Hij wordt niet samengevoegd.

l.insert(0, [-1, -2, -3])
print(l)
# [[-1, -2, -3], 100, 0, 1, 200, 2]

Merk op dat insert() geen efficiënte bewerking is omdat het de volgende kosten vereist. Zie de volgende pagina op de officiële wiki voor de rekenkundige complexiteit van de verschillende lijstbewerkingen.
O(n)

O(1)
Het deque type is voorzien in de standaard bibliotheek collections module als een type om elementen aan de top toe te voegen tegen deze kosten. Als je bijvoorbeeld gegevens als een wachtrij (FIFO) wilt behandelen, is het efficiënter om deque te gebruiken.

Een andere lijst of tupel toevoegen (invoegen) op de opgegeven positie: plak

Als je een bereik specificeert met een slice en een andere lijst of tuple toewijst, zullen alle elementen worden toegevoegd (inserted).

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:1] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 1, 2]

U kunt ook het oorspronkelijke element vervangen. Alle elementen in het opgegeven bereik worden dan vervangen.

l = list(range(3))
print(l)
# [0, 1, 2]

l[1:2] = [100, 200, 300]
print(l)
# [0, 100, 200, 300, 2]