Jak přidat prvky do seznamu v Pythonu

K přidávání prvků do seznamu v Pythonu se používají různé metody. Existují 3 případy přidání prvku do seznamu:

  1. Přidat prvek na začátek seznamu
  2. Přidejte prvek do seznamu v indexu
  3. Přidejte prvek do seznamu na posledním indexu

V tomto článku uvidíme, jak přidat prvky do seznamu v Pythonu.

Jak přidat položky do seznamu v Pythonu?

Manipulace s datovými strukturami v Krajta často vyžaduje přidání prvků do seznamů. Existují různé metody, jak toho dosáhnout, každá má svůj specifický případ použití. Podívejme se, jak přidat prvky do seznamu v Pythonu.

  • metoda insert().
  • metoda append().
  • metoda zřetězení
  • metoda extend().
  • způsob rozbalení seznamu
  • Metoda řezu a zřetězení

Vložit prvek do seznamu Použitím metoda insert().

The insert()> metoda umožňuje přidávat prvky do seznamu v indexu. metoda insert() nám umožňuje vkládat prvky na konkrétní index.

Python3




my_list> => [> 2> ,> 3> ,> 4> ]> my_list.insert(> 0> ,> 1> )> print> (my_list)>

Výstup

[1, 2, 3, 4] 

Časová náročnost: O(n), kde n je počet prvků v seznamu. Je to proto, že metoda insert musí posunout všechny prvky seznamu, aby se přizpůsobily nově vloženému prvku, což trvá O(n) čas.
Pomocný prostor: O(1), protože metoda vkládání nevyžaduje přidělení žádné další paměti.

Přidat prvek do seznamu použitím metoda append().

metoda append(). přidat prvek na konec seznamu. Metoda append() se používá k přidání položky do seznamu na poslední index. Chcete-li k seznamu přidat více položek, můžete předat více hodnot.

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ýstup

[1, 2, 3, 4] 

Časová složitost : O(1) – průměrný čas pro připojení prvku zůstává konstantní.
Prostor Složitost : O(0) – Není potřeba žádné další místo.

Přidat prvek do seznamu Použití zřetězení

Můžete vytvořit nový seznam obsahující prvek, který chcete přidat, a poté jej zřetězit s existujícím seznamem. Dva seznamy můžete zřetězit pomocí +> operátor přidat seznam do seznamu v Pythonu.

Python3




my_list> => [> 2> ,> 3> ,> 4> ]> new_element> => [> 1> ]> my_list> => new_element> +> my_list> print> (my_list)>

Výstup

[1, 2, 3, 4] 

Časová složitost: Na)
Pomocný prostor: O(n) kde n je délka seznamu.

Přidat prvek do seznamu Použitím extend()> Metoda

The extend()> metoda přidá prvky z jiného seznamu (nebo jakéhokoli iterovatelného) na konec seznamu.

Python3




my_list> => [> 1> ,> 2> ,> 3> ]> new_elements> => [> 4> ,> 5> ]> my_list.extend(new_elements)> print> (my_list)>

Výstup

[1, 2, 3, 4, 5] 

Časová složitost : O(k), kde k je počet prvků v iterovateli, která se rozšiřuje.
Vesmírná složitost : O(k) – Je potřeba místo pro uložení přidávaných prvků.

Přidat prvek do seznamu pomocí Rozbalení seznamu

Pomocí rozbalení můžete přidat prvky z jiného seznamu (nebo libovolného iterovatelného) na konec seznamu nebo na konkrétní index.

Příklad 1. Přidejte prvky na konec seznamu

Python3




my_list> => [> 'a'> ,> 'b'> ,> 'c'> ]> new_elements> => [> 4> ,> 5> ]> my_list> +> => new_elements> print> (my_list)>

Výstup

['a', 'b', 'c', 4, 5] 

Časová náročnost: O(n) – Podobné jako +> operátor, protože zahrnuje kopírování prvků do nového seznamu.
Prostorová složitost: O(n) – Vytvoří se nový seznam pro uložení rozbalených prvků.

Příklad 2. Přidejte prvky do určitého indexu v seznamu

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ýstup

New list after inserting 'c' at index 2 is ['a', 'b', 'c', 'd', 'e'] 

Časová složitost : O(n) Rozbalení zahrnuje vytvoření nového seznamu s prvky před a za indexem spolu s novým prvkem. To vyžaduje opakování původního seznamu, což má za následek lineární čas.
Vesmírná složitost : O(n) Vytvoření nového seznamu pro uložení rozbalených prvků zvyšuje složitost prostoru lineárně s velikostí vstupu.

Přidat prvek do seznamu Použití krájení a zřetězení

Můžeš rozdělit seznam na dvě části, pak zřetězit nový prvek a druhou část původního seznamu.

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ýstup

New list after inserting 3 at index 2 is [1, 2, 3, 4, 5] 

Časová složitost : O(n) Řezání a zřetězení zahrnuje vytvoření nového seznamu s existujícími a novými prvky. To vyžaduje opakování původního seznamu a kopírování jeho prvků, což trvá lineárně.
Vesmírná složitost : O(n) Vytvoření nového seznamu pro obě části (před indexem a za indexem) zvyšuje složitost prostoru lineárně se vstupní velikostí.

Python Slice Assignment

K přidání prvků doprostřed seznamu můžeme použít metodu 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ýstup

New list after inserting 'd' at index 3 is ['a', 'b', 'c', 'd', 'e'] 

Časová složitost : O(n) Vytvoření nového seznamu s prvky k přidání a použití extend()> způsob vložení do původního seznamu trvá lineární čas.
Prostorová složitost: O(n) Vytvoření nového seznamu obsahujícího prvky, které mají být přidány, zvyšuje složitost prostoru lineárně s velikostí vstupu.

V tomto článku jsme se zabývali různými metodami přidávání prvků do seznamu. Pomocí jedné z výše uvedených metod můžete přidat prvek na index 0, na konec nebo konkrétní index.

Přečtěte si další operace na seznamu: