Adăugarea de elemente la o listă (array) în Python: append(), extend(), insert()

Afaceri

Pentru a adăuga un element la o listă (array) de tip listă în Python sau pentru a combina o altă listă, utilizați metodele de listă append(), extend() și insert(). De asemenea, puteți utiliza operatorul + sau slice pentru a specifica o poziție și a o atribui.

Aici sunt furnizate următoarele informații.

  • Adăugați elemente la sfârșit:append()
  • Combină o altă listă sau un alt tupluplu la sfârșit (concatenare): extend(),+operator
  • Adaugă (inserează) un element în poziția specificată.:insert()
  • Adăugați (inserați) o altă listă sau un alt tupluplu în poziția specificată:felie

Adăugați elemente la sfârșit: append()

Utilizând metoda append() a listei, puteți adăuga elemente la sfârșit (ultimul). Dacă doriți să le adăugați într-o altă poziție decât la sfârșit, cum ar fi în partea de sus, utilizați insert(), așa cum este descris mai jos.

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']

Listele sunt, de asemenea, adăugate ca un singur element. Ele nu sunt combinate.

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

Combină o altă listă sau un alt tupluplu la sfârșit (concatenare): extend(), +operator

Cu ajutorul metodei extend() a listei, puteți combina o altă listă sau un alt tupluplu la sfârșit (end). Toate elementele vor fi adăugate la sfârșitul listei originale.

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]

Rețineți că fiecare caracter (element) este adăugat la șirul de caractere unul câte unul.

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

De asemenea, este posibilă concatenarea folosind operatorul + în loc de metoda extend().

+, se returnează o nouă listă.+=Acest lucru vă va permite, de asemenea, să o adăugați la o listă existentă.

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]

Adaugă (inserează) un element în poziția specificată.: insert()

Metoda list insert() poate adăuga (insera) un element la o poziție specificată.

Primul argument specifică poziția, iar al doilea argumentul specifică elementul care urmează să fie inserat. Prima poziție (inițială) este 0; pentru valorile negative, -1 este ultima poziție (finală).

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]

Ca și în cazul lui append(), lista este adăugată ca un singur element. Acesta nu va fi fuzionat.

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

Rețineți că insert() nu este o operațiune eficientă, deoarece necesită următoarele costuri. Consultați următoarea pagină de pe wiki-ul oficial pentru a vedea complexitatea de calcul a diferitelor operații cu liste.
O(n)

O(1)
Tipul deque este furnizat în modulul de colecții al bibliotecii standard ca un tip care permite adăugarea de elemente în partea superioară cu acest cost. De exemplu, dacă doriți să tratați datele ca o coadă (FIFO), este mai eficient să utilizați deque.

Adăugați (inserați) o altă listă sau un alt tupluplu în poziția specificată: felie

Dacă specificați un interval cu un slice și atribuiți o altă listă sau un tuple, toate elementele vor fi adăugate (inserate).

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

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

De asemenea, puteți înlocui elementul original. Toate elementele din intervalul specificat vor fi înlocuite.

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

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