Ce este
Listele Python sunt matrice dinamice. Puteți adăuga elemente la locul lor cu metode precumappend(),insert(), șiextend(), sau creați o nouă listă folosind concatenarea și despachetarea. Operațiunile de bază ale listei sunt rezumate în documentația metodelor de listă.
De ce contează
Alegerea modului corect de adăugare a elementelor afectează:
- Lizibilitate: un singur articol vs mai multe, la sfârșit vs la o poziție.
- Performanță: adăugarea este rapidă; introducerea articolelor lângă schimburile din față.
- Corectitudine: mutarea unei liste în loc vs returnarea unei liste noi evită efectele secundare neintenționate.
Cum să-l folosești
1) Adăugați un articol la sfârșit(pe loc)
nums = [1, 2, 3]
nums.append(4) # [1, 2, 3, 4]
# Note: append() returns None and mutates the list.
2) Introduceți într-o anumită poziție(pe loc)
LEGATE:Scrieți liste de înțelegeri în Python
letters = ['a', 'c', 'd']
letters.insert(1, 'b') # ['a', 'b', 'c', 'd'] inserts at index 1
3) Adăugați mai multe articole din orice iterabil(pe loc)
items = ['apple', 'banana']
items.extend(['cherry', 'date']) # end of list
items.extend(('elderberry', 'fig')) # tuples work too
items.extend({ 'g', 'h' }) # adds each element of the set (order arbitrary)
4) Concatenați pentru a crea o nouă listă(fără mutație)
base = [1, 2]
new_list = base + [3] # base unchanged
# or unpacking syntax:
new_list2 = [*base, 3]
front_added = [0, *base] # add to the front without mutating base
5) Copiați-apoi-modificați(model explicit fără mutații)
orig = [10, 20]
copy = orig.copy()
copy.append(30) # orig is still [10, 20]
6) Adăugați în interiorul unei liste imbricate
matrix = [['abc', '2'], ['cds', '333'], ['efg']]
matrix[2].append('444') # [['abc','2'], ['cds','333'], ['efg','444']]
7) Inserați mai multe elemente prin atribuirea secțiunii(pe loc)
nums = [1, 4, 5]
nums[1:1] = [2, 3] # insert before index 1 → [1, 2, 3, 4, 5]
nums[len(nums):] = [6, 7] # append many → [1, 2, 3, 4, 5, 6, 7]
8) Stenografie pentru extindere(pe loc)
nums = [1, 2]
nums += [3, 4] # like extend; mutates the existing list
Limite și compromisuri
- Mutație vs copie:
append(),insert(),extend(), și+=mutați lista. Utilizare+, despachetarea ([*lst, x]), saucopy()-apoi-modifica pentru a evita efectele secundare. - Performanţă:
append(): amortizat O(1)extend(k): Bine)insert(i, x): O(n) (schimbă elemente)lst + othersau[*lst, *other]: O(n + m) pentru a construi o nouă listă
- Siguranța iterației:Nu adăugați sau eliminați dintr-o listă în timp ce iterați peste ea; construiți o nouă listă sau colectați mai întâi modificările.
- Adăugați vs extindeți:
append(obj)adaugă obiectul ca un singur element;extend(iterable)adaugă fiecare element al iterabilului. - Dicte și seturi:Extinderea cu un dict își repetă cheile; seturile sunt neordonate, deci ordinea rezultatelor nu este garantată.
Întrebări frecvente
- Cum adaug in fata?Utilizare
insert(0, x)a muta, sau[x, *lst]pentru a crea o nouă listă. - De ce
append()return Niciunul?Mutează în loc; valoarea returnată semnalează că nu există nicio listă nouă de utilizat. - este
+=diferit deextend()?Pentru liste,+=se comportă caextend()și modifică lista. - Cum adaug mai multe elemente la o poziție?Utilizați atribuirea feliei:
lst[i:i] = iterable. - Pot adăuga în timp ce fac bucla?Evitați mutarea în timpul iterației; construiți în schimb o listă de rezultate, de exemplu,
result = [*lst, extra]după buclă.













