Ako pridať prvky do zoznamu v Pythone
Na pridávanie prvkov do zoznamu v Pythone sa používajú rôzne metódy. Existujú 3 prípady pridania prvku do zoznamu:
- Pridajte prvok na začiatok zoznamu
- Pridajte prvok do zoznamu v indexe
- Pridajte prvok do zoznamu pri poslednom indexe
V tomto článku uvidíme, ako pridať prvky do zoznamu v Pythone.
Ako pridať položky do zoznamu v Pythone?
Manipulácia s dátovými štruktúrami v Python často vyžaduje pridávanie prvkov do zoznamov. Existujú rôzne spôsoby, ako to dosiahnuť, pričom každá má svoj špecifický prípad použitia. Pozrime sa, ako pridať prvky do zoznamu v Pythone.
- metóda insert().
- metóda append().
- metóda zreťazenia
- metóda extend().
- spôsob rozbaľovania zoznamu
- Metóda rezu a zreťazenia
Vložiť prvok do zoznamu Použitím vložiť() metódu
The insert()> metóda umožňuje pridávať prvky do zoznamu v indexe. Metóda insert() nám umožňuje vkladať prvky na konkrétny index.
Python3
my_list> => [> 2> ,> 3> ,> 4> ]> my_list.insert(> 0> ,> 1> )> print> (my_list)> |
Výkon
[1, 2, 3, 4]
Časová zložitosť: O(n), kde n je počet prvkov v zozname. Je to preto, že metóda vloženia musí posunúť všetky prvky zoznamu, aby sa prispôsobila novo vloženému prvku, čo trvá O(n) čas.
Pomocný priestor: O(1), pretože metóda vkladania nevyžaduje pridelenie žiadnej ďalšej pamäte.
Pridať prvok do zoznamu použitím metóda append().
metóda append(). pridať prvok na koniec zoznamu. Metóda append() sa používa na pridanie položky do zoznamu pri poslednom indexe. Ak chcete k zoznamu pridať viacero položiek, môžete zadať viacero hodnôt.
Python3
#creating a list> my_list> => [> 1> ,> 2> ,> 3> ]> #using append() to add elements> my_list.append(> 4> )> #printing new list> print> (my_list)> |
Výkon
[1, 2, 3, 4]
Časová zložitosť : O(1) – priemerný čas na pripojenie prvku zostáva konštantný.
Priestor Zložitosť : O(0) – Nevyžaduje sa žiadny ďalší priestor.
Pridať prvok do zoznamu Použitie zreťazenia
Môžete vytvoriť nový zoznam obsahujúci prvok, ktorý chcete pridať, a potom ho spojiť s existujúcim zoznamom. Dva zoznamy môžete spojiť pomocou +> operátor pridať zoznam do zoznamu v Pythone.
Python3
my_list> => [> 2> ,> 3> ,> 4> ]> new_element> => [> 1> ]> my_list> => new_element> +> my_list> print> (my_list)> |
Výkon
[1, 2, 3, 4]
Časová zložitosť: O(n)
Pomocný priestor: O(n) kde n je dĺžka zoznamu.
Pridať prvok do zoznamu Použitím extend()> Metóda
The extend()> metóda pridáva prvky z iného zoznamu (alebo akéhokoľvek iterovateľného) na koniec zoznamu.
Python3
my_list> => [> 1> ,> 2> ,> 3> ]> new_elements> => [> 4> ,> 5> ]> my_list.extend(new_elements)> print> (my_list)> |
Výkon
[1, 2, 3, 4, 5]
Časová zložitosť : O(k), kde k je počet prvkov v iterovateľnej rozšírenej.
Priestorová zložitosť : O(k) – Priestor je potrebný na uloženie pridávaných prvkov.
Pridať prvok do zoznamu pomocou Rozbaľovania zoznamu
Rozbalenie môžete použiť na pridanie prvkov z iného zoznamu (alebo akéhokoľvek iterovateľného) na koniec zoznamu alebo na konkrétny index.
Príklad 1. Pridajte prvky na koniec zoznamu
Python3
my_list> => [> 'a'> ,> 'b'> ,> 'c'> ]> new_elements> => [> 4> ,> 5> ]> my_list> +> => new_elements> print> (my_list)> |
Výkon
['a', 'b', 'c', 4, 5]
Časová zložitosť: O(n) – Podobné ako +> pretože zahŕňa kopírovanie prvkov do nového zoznamu.
Priestorová zložitosť: O(n) – Vytvorí sa nový zoznam na uloženie rozbalených prvkov.
Príklad 2. Pridajte prvky do špecifického indexu v zozname
Python3
my_list> => [> 'a'> ,> 'b'> ,> 'd'> ,> 'e'> ]> new_elements> => 'c'> index> => 2> my_list> => [> *> my_list[:index],> *> new_elements,> *> my_list[index:]]> print> (> 'New list after inserting 'c' at index 2 is'> )> print> (my_list)> |
Výkon
New list after inserting 'c' at index 2 is ['a', 'b', 'c', 'd', 'e']
Časová zložitosť : O(n) Rozbalenie zahŕňa vytvorenie nového zoznamu s prvkami pred a za indexom spolu s novým prvkom. To si vyžaduje iteráciu pôvodného zoznamu, výsledkom čoho je lineárny čas.
Priestorová zložitosť : O(n) Vytvorenie nového zoznamu na uchovávanie rozbalených prvkov zvyšuje priestorovú zložitosť lineárne s veľkosťou vstupu.
Pridať prvok do zoznamu Používanie krájania a zreťazenia
Môžeš rozrezať zoznam na dve časti, potom zreťazte nový prvok a druhú časť pôvodného zoznamu.
Python3
my_list> => [> 1> ,> 2> ,> 4> ,> 5> ]> new_element> => 3> index> => 2> my_list> => my_list[:index]> +> [new_element]> +> my_list[index:]> print> (> 'New list after inserting 3 at index 2 is'> )> print> (my_list)> |
Výkon
New list after inserting 3 at index 2 is [1, 2, 3, 4, 5]
Časová zložitosť : O(n) Rozdelenie a zreťazenie zahŕňa vytvorenie nového zoznamu s existujúcimi a novými prvkami. Vyžaduje si to iteráciu pôvodného zoznamu a kopírovanie jeho prvkov, čo trvá lineárne.
Priestorová zložitosť : O(n) Vytvorenie nového zoznamu pre obe časti (pred indexom a za indexom) zvyšuje zložitosť priestoru lineárne s veľkosťou vstupu.
Python Slice Assignment
Na pridanie prvkov do stredu zoznamu môžeme použiť metódu slice
Python3
my_list> => [> 'a'> ,> 'b'> ,> 'c'> ,> 'e'> ]> new_element> => 'd'> index> => 3> my_list[index:index]> => new_element> print> (> 'New list after inserting 'd' at index 3 is'> )> print> (my_list)> |
Výkon
New list after inserting 'd' at index 3 is ['a', 'b', 'c', 'd', 'e']
Časová zložitosť : O(n) Vytvorenie nového zoznamu s prvkami na pridanie a použitie extend()> spôsob vloženia do pôvodného zoznamu trvá lineárny čas.
Priestorová zložitosť: O(n) Vytvorenie nového zoznamu na uchovávanie prvkov, ktoré sa majú pridať, zvyšuje zložitosť priestoru lineárne s veľkosťou vstupu.
V tomto článku sme sa zaoberali rôznymi spôsobmi pridávania prvkov do zoznamu. Pomocou jednej z vyššie uvedených metód môžete pridať prvok na index 0, na koniec alebo špecifický index.
Prečítajte si viac operácií v zozname:
- Ako odstrániť položku zo zoznamu v Pythone
- Ako nahradiť hodnoty v zozname v Pythone?
- Python | Spôsoby formátovania prvkov daného zoznamu