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