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:
- Přidat prvek na začátek seznamu
- Přidejte prvek do seznamu v indexu
- 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
délka pole v jazyce Java
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)> |
pro smyčku v bash
>
>
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:
- Jak odstranit položku ze seznamu v Pythonu
- Jak nahradit hodnoty v seznamu v Pythonu?
- Python | Způsoby formátování prvků daného seznamu