Dodatak popisa Python - Kako dodati element u niz, objašnjeno primjerima

Dobrodošli

Bok! Ako želite naučiti kako se koristiti append()metodom, ovaj je članak za vas. Ovo je moćna metoda popisa koju ćete definitivno koristiti u svojim Python projektima.

U ovom ćete članku naučiti:

  • Zašto i kada biste trebali koristiti append().
  • Kako to nazvati.
  • Njegov učinak i povratna vrijednost.
  • Kako to može biti ekvivalentno insert()rezanju niza i odgovarajućim argumentima.

Pronaći ćete primjere uporabe append()primijenjenih na nizove, cijele brojeve, plutajuće vrijednosti, logičke vrijednosti, popise, korijene i rječnike.

Započnimo! ✨

? svrha

Ovom metodom možete dodati jedan element na kraj popisa .

Ovdje append()grafički možete vidjeti učinak :

? Savjet: Da biste dodali niz pojedinačnih elemenata, trebat ćete upotrijebiti extend()metodu.

Nta Sintaksa i parametri

Ovo je osnovna sintaksa koju trebate koristiti za pozivanje ove metode:

? Savjet: Točka je vrlo važna jer append()je metoda. Kada zovemo metodu, koristimo točku nakon popisa kako bismo naznačili da želimo "izmijeniti" ili "utjecati" na taj određeni popis.

Kao što vidite, append()metoda uzima samo jedan argument, element koji želite dodati. Ovaj element može biti bilo koje vrste podataka:

  • Cijeli broj
  • Niz
  • Plutati
  • Booleova
  • Još jedan popis
  • Korijen
  • Rječnik
  • Instanca prilagođene klase

U osnovi, svaka vrijednost koju možete stvoriti u Pythonu može se dodati na popis.

? Savjet: Prvi element sintakse (popis) obično je varijabla koja upućuje na popis.

Primjer

Ovo je primjer poziva na append():

>>> musical_notes = ["C", "D", "E", "F", "G", "A"] >>> musical_notes.append("B")
  • Prvo se popis definira i dodjeljuje varijabli.
  • Zatim, koristeći ovu varijablu nazivamo append()metodu, predajući element koji želimo dodati (niz "B") kao argument.

Value Učinak i povratna vrijednost

Ova metoda mutira (mijenja) izvorni popis u memoriji. Ne vraća novu kopiju popisa, kao što bismo intuitivno mislili, vraća se None. Stoga, samo pozivanjem ove metode mijenjate izvorni popis.

U našem prethodnom primjeru:

>>> musical_notes = ["C", "D", "E", "F", "G", "A"] >>> musical_notes.append("B")

Možete vidjeti (ispod) da je izvorni popis izmijenjen nakon dodavanja elementa. Posljednji je element sada, "B"a izvorni je popis sada izmijenjena verzija.

>>> musical_notes ['C', 'D', 'E', 'F', 'G', 'A', 'B']

Možete potvrditi da je povratak vrijednost append()je Nonedodjeljivanjem ove vrijednosti varijabli i ispis:

>>> musical_notes = ["C", "D", "E", "F", "G", "A"] >>> a = musical_notes.append("B") >>> print(a) None

? Primjeri

Sad kad znate svrhu, sintaksu i učinak append()metode, pogledajmo nekoliko primjera njezine upotrebe s različitim vrstama podataka.

Dodati niz

>>> top_players = ["gino234", "nor233", "lal453"] >>> top_players.append("auop342") # The string was appended >>> top_players ['gino234', 'nor233', 'lal453', 'auop342']

Dodajte cijeli broj

>>> data = [435, 324, 275, 567, 123] >>> data.append(456) >>> data [435, 324, 275, 567, 123, 456]

Dodajte float

>>> data = [435.34, 324.35, 275.45, 567.34, 123.23] >>> data.append(456.23) >>> data [435.34, 324.35, 275.45, 567.34, 123.23, 456.23]

Dodaj logičku vrijednost

>>> values = [True, True, False, True] >>> values.append(False) >>> values [True, True, False, True, False]

Dodajte popis

Ova metoda dodaje jedan element na kraj popisa, pa ako proslijedite popis kao argument, cijeli će se popis dodati kao jedan element (to će biti ugniježđeni popis unutar izvornog popisa).

>>> data = [[4.5, 4.8, 5.7], [2.5, 2.6, 2.7]] >>> data.append([6.7, 2.3]) >>> data [[4.5, 4.8, 5.7], [2.5, 2.6, 2.7], [6.7, 2.3]]

Dodajte tortu

This works exactly the same for tuples, the entire tuple is appended as a single element.

>>> data = [[4.5, 4.8, 5.7], [2.5, 2.6, 2.7]] >>> data.append((6.7, 2.3)) >>> data [[4.5, 4.8, 5.7], [2.5, 2.6, 2.7], (6.7, 2.3)] 

? Tip: If you need to add the elements of a list or tuple as individual elements of the original list, you need to use the extend() method instead of append(). To learn more about this, you can read my article: Python List Append VS Python List Extend – The Difference Explained with Array Method Examples

Append a dictionary

Similarly, if you try to append a dictionary, the entire dictionary will be appended as a single element of the list.

>>> data = [{"a": 1, "b": 2}] >>> data.append({"c": 3, "d": 4}) >>> data [{'a': 1, 'b': 2}, {'c': 3, 'd': 4}]

? Equivalence of Append and Insert

An interesting tip is that the insert() method can be equivalent to append() if we pass the correct arguments.

The insert() method is used to insert an element at a particular index (position) in the list.

This is the syntax used to call the insert() method:

To make it equivalent to append():

  • The value of index has to be the length of the list (len()) because we want the element to be the last element of the list.

Here's an example that shows that the result of using insert with these arguments is equivalent to append():

>>> musical_notes = ["C", "D", "E", "F", "G", "A"] >>> musical_notes.insert(len(musical_notes), "B") >>> musical_notes ['C', 'D', 'E', 'F', 'G', 'A', 'B']

But as you have seen, append() is much more concise and practical, so it's usually recommended to use it in this case.

? Equivalence of Append and List Slicing

There is also an interesting equivalence between the append() method and list slicing.

This syntax is essentially assigning the list that contains the element [] as the last portion (end) of the list. Here you can see that the result is equivalent to append():

>>> musical_notes = ["C", "D", "E", "F", "G", "A"] >>> musical_notes[len(musical_notes):] = ["B"] >>> musical_notes ['C', 'D', 'E', 'F', 'G', 'A', 'B']

These are interesting alternatives, but for practical purposes we typically use append() because it's a priceless tool that Python offers. It is precise, concise, and easy to use.

I really hope that you liked my article and found it helpful. Now you can work with append() in your Python projects. Check out my online courses. Follow me on Twitter. ⭐️