logo

Pole Python

Pro jednoduchost si můžeme pole Python představit jako skupinu schodů, kde je na každém schodu umístěna hodnota (řekněme někdo z vašich přátel). Zde můžete určit polohu kteréhokoli ze svých přátel jednoduše tím, že budete znát počet kroků, na kterých jsou. Pole může být v Pythonu zpracováno modulem s názvem pole. Mohou být užitečné, když musíme manipulovat pouze s konkrétními hodnotami datových typů. Uživatel může se seznamy zacházet jako s poli. Uživatel však nemůže omezit typ prvků uložených v seznamu. Pokud vytvoříte pole Python pomocí modulu pole, všechny prvky pole v Pythonu musí být stejného typu. V tomto článku uvidíme, jak používat pole v Pythonu s příklady.

Co je pole v Pythonu?

Pole je kolekce položek uložených v souvislých paměťových místech. Cílem je uložit více položek stejného typu dohromady. To usnadňuje výpočet polohy každého prvku jednoduchým přidáním offsetu k základní hodnotě, tj. paměťovému umístění prvního prvku pole (obecně označeného názvem pole).



Vytvořte pole v Pythonu

Pole v Pythonu lze vytvořit importem modulu pole. pole( datový typ , seznam_hodnot ) se používá k vytvoření pole v Pythonu s datovým typem a seznamem hodnot specifikovaným v jeho argumentech.

V níže uvedeném kódu Python vytvořte pole: jeden z celá čísla a jeden z čtyřhra . Poté vytiskne obsah každého pole do konzoly.



Python3
import array as arr a = arr.array('i', [1, 2, 3]) print('The new created array is : ', end=' ') for i in range(0, 3): print(a[i], end=' ') print() b = arr.array('d', [2.5, 3.2, 3.3]) print('
The new created array is : ', end=' ') for i in range(0, 3): print(b[i], end=' ')>

Výstup
The new created array is : 1 2 3 The new created array is : 2.5 3.2 3.3>

Složitosti pro vytváření polí:

Časová náročnost: O(1)
Pomocný prostor: Na)

Některé z datových typů jsou uvedeny níže, které pomohou při vytváření pole v Pythonu 3.8

různých datových typů.



Nyní uvidíme, jak použít pole v Pythonu 3.8 s příkladem.

Přidání prvků do pole

Prvky lze přidat do pole Python pomocí vestavěného vložit() funkce. Vložit se používá k vložení jednoho nebo více datových prvků do pole. Na základě požadavku lze přidat nový prvek na začátek, konec nebo jakýkoli daný index pole. připojit() se také používá k přidání hodnoty uvedené v jeho argumentech na konec pole Python.

Níže kód nejprve importuje pole modul jako Python import pole jako arr . Poté vytvoří pole celých čísel s názvem A s prvky [1, 2, 3] . V níže uvedeném kódu Python tiskne pole, protože pole se vytiskne před a po vložení celého čísla 4 na indexu 1. Podobně pole double s názvem b s prvky [2,5, 3,2, 3,3] je vytvořen a vytištěn před a po připojení dvojitého 4.4 do pole.

Python3
import array as arr a = arr.array('i', [1, 2, 3]) print('Array before insertion : ', end=' ') for i in range(0, 3): print(a[i], end=' ') print() a.insert(1, 4) print('Array after insertion : ', end=' ') for i in (a): print(i, end=' ') print() b = arr.array('d', [2.5, 3.2, 3.3]) print('Array before insertion : ', end=' ') for i in range(0, 3): print(b[i], end=' ') print() b.append(4.4) print('Array after insertion : ', end=' ') for i in (b): print(i, end=' ') print()>

Výstup
Array before insertion : 1 2 3 Array after insertion : 1 4 2 3 Array before insertion : 2.5 3.2 3.3 Array after insertion : 2.5 3.2 3.3 4.4>

Složitost pro přidávání prvků do polí

Časová náročnost: O(1)/O(n) ( O(1) – pro vložení prvků na konec pole, O(n) – pro vložení prvků na začátek pole a do celého pole
Pomocný prostor: O(1)

Přístup k prvkům z pole

Pro přístup k položkám pole se řiďte indexovým číslem. Pro přístup k položce v poli v Pythonu použijte indexový operátor [ ]. Index musí být celé číslo.

Níže kód nejprve ukazuje, jak Python importovat pole a použití indexování pro přístup k prvkům v polích. Thea[0]>výraz přistupuje k prvnímu prvku polea>, což je 1. Thea[3]>výraz přistupuje ke čtvrtému prvku polea>, což je 4. Podobně,b[1]>výraz přistupuje k druhému prvku poleb>, což je 3.2, ab[2]>výraz přistupuje ke třetímu prvku poleb>, což je 3.3.

instance Java
Python3
import array as arr a = arr.array('i', [1, 2, 3, 4, 5, 6]) print('Access element is: ', a[0]) print('Access element is: ', a[3]) b = arr.array('d', [2.5, 3.2, 3.3]) print('Access element is: ', b[1]) print('Access element is: ', b[2])>

Výstup :

Access element is: 1 Access element is: 4 Access element is: 3.2 Access element is: 3.3>

Složitost přístupu k prvkům v polích

Časová náročnost: O(1)
Pomocný prostor: O(1)

Odebrání prvků z pole

Prvky lze z pole Python odstranit pomocí vestavěného odstranit() funkce, ale pokud prvek v sadě neexistuje, dojde k chybě. Metoda Remove() odstraňuje pouze jeden prvek najednou, k odstranění rozsahu prvků se používá iterátor. pop() funkci lze také použít k odstranění a vrácení prvku z pole, ale ve výchozím nastavení odstraní pouze poslední prvek pole, pro odstranění prvku z konkrétní pozice pole se index prvku předá jako argument do pole metoda pop().
Poznámka - Metoda Remove v seznamu odstraní pouze první výskyt hledaného prvku.

Níže kód ukazuje, jak Python importovat pole, jak vytvářet, tisknout, odstraňovat prvky z pole a přistupovat k nim v Pythonu. Dovážíarray>modul, který se používá pro práci s poli. Vytvoří pole celých čísel v tiskových polích Pythonu nebo vytiskne původní pole. Poté odebere prvek z pole a vytiskne upravené pole. Nakonec odstraní všechny výskyty určitého prvku z pole a vytiskne aktualizované pole

Python3
import array arr = array.array('i', [1, 2, 3, 1, 5]) print('The new created array is : ', end='') for i in range(0, 5): print(arr[i], end=' ') print('
') print('The popped element is : ', end='') print(arr.pop(2)) print('The array after popping is : ', end='') for i in range(0, 4): print(arr[i], end=' ') print('
') arr.remove(1) print('The array after removing is : ', end='') for i in range(0, 3): print(arr[i], end=' ')>

Výstup
The new created array is : 1 2 3 1 5 The popped element is : 3 The array after popping is : 1 2 1 5 The array after removing is : 2 1 5>

Složitosti pro odstranění prvků v polích

Časová náročnost: O(1)/O(n) ( O(1) – pro odstranění prvků na konci pole, O(n) – pro odstranění prvků na začátku pole vytvoření Pythonu a na celé pole
Pomocný prostor: O(1)

Krájení pole

V poli Python existuje několik způsobů, jak vytisknout celé pole se všemi prvky, ale pro tisk konkrétního rozsahu prvků z pole používáme Operace řezu . Operace slice se provádí na poli s použitím dvojtečky (:). Chcete-li vytisknout prvky od začátku do rozsahu, použijte [:Index], k tisku prvků od konce použijte [:-Index], k tisku prvků od určitého indexu až do konce použijte [Index:], k vytištění prvků v rozsahu použijte [ Počáteční rejstřík:Konec rejstříku] a pro tisk celého seznamu s použitím operace krájení použijte [:]. Dále pro tisk celého pole v opačném pořadí použijte [::-1].

Tento kód využívá dělení k extrahování prvků nebo podpolí z pole. Začíná počátečním polem celých čísel a vytvoří pole ze seznamu. Kód rozděluje pole, aby extrahoval prvky od indexu 3 do 8, od indexu 5 až do konce, a celé pole a níže uvedený kód vytiskne pole Python jako Nakrájená pole se pak vytisknou, aby se demonstrovaly operace dělení.

Python3
import array as arr l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] a = arr.array('i', l) print('Initial Array: ') for i in (a): print(i, end=' ') Sliced_array = a[3:8] print('
Slicing elements in a range 3-8: ') print(Sliced_array) Sliced_array = a[5:] print('
Elements sliced from 5th ' 'element till the end: ') print(Sliced_array) Sliced_array = a[:] print('
Printing all elements using slice operation: ') print(Sliced_array)>

Výstup
Initial Array: 1 2 3 4 5 6 7 8 9 10 Slicing elements in a range 3-8: array('i', [4, 5, 6, 7, 8]) Elements sliced from 5th element till the end: array('i', [6, 7, 8, 9, 10]) Printing all elements...>

Hledání prvku v poli

Abychom prohledali prvek v poli, používáme vestavěný python index() metoda. Tato funkce vrací index prvního výskytu hodnoty uvedené v argumentech.

Příklad: Kód ukazuje, jak vytvořit pole v Pythonu, vytisknout jeho prvky a najít indexy konkrétních prvků. Dovážíarray>modul, vytvoří pole celých čísel, vytiskne pole pomocí cyklu for a poté použijeindex()>metoda k nalezení indexů prvních výskytů celých čísel 2 a 1.

Python3
import array arr = array.array('i', [1, 2, 3, 1, 2, 5]) print('The new created array is : ', end='') for i in range(0, 6): print(arr[i], end=' ') print('
') print('The index of 1st occurrence of 2 is : ', end='') print(arr.index(2)) print('The index of 1st occurrence of 1 is : ', end='') print(arr.index(1))>

Výstup
The new created array is : 1 2 3 1 2 5 The index of 1st occurrence of 2 is : 1 The index of 1st occurrence of 1 is : 0>

Složitost pro vyhledávání prvků v polích

Časová náročnost: Na)
Pomocný prostor: O(1)

Aktualizace prvků v poli

Abychom aktualizovali prvek v poli, jednoduše znovu přiřadíme novou hodnotu požadovanému indexu, který chceme aktualizovat.

Příklad: Tento kód ilustruje funkčnost úpravy prvků v poli pomocí indexování. Dovážíarray>modul, vytvoří pole celých čísel a vytiskne počáteční pole. Potom upraví dva prvky pole na konkrétních indexech a vytiskne aktualizované pole. To slouží k demonstraci toho, jak indexování umožňuje dynamickou manipulaci s obsahem pole.

Python3
import array arr = array.array('i', [1, 2, 3, 1, 2, 5]) print('Array before updation : ', end='') for i in range(0, 6): print(arr[i], end=' ') print('
') arr[2] = 6 print('Array after updation : ', end='') for i in range(0, 6): print(arr[i], end=' ') print() arr[4] = 8 print('Array after updation : ', end='') for i in range(0, 6): print(arr[i], end=' ')>

Výstup
Array before updation : 1 2 3 1 2 5 Array after updation : 1 2 6 1 2 5 Array after updation : 1 2 6 1 8 5>

Složitost aktualizace prvků v polích

Časová náročnost: Na)
Pomocný prostor: O(1)

Různé operace na polích Python

Počítání prvků v poli

Abychom mohli počítat prvky v poli, musíme použít metodu počítání.

Příklad: Kód ukazuje, jak určit frekvenci určitého prvku v poli. Dovážíarray>modul, vytvoří pole celých čísel, vytvoří pole v Pythonu a spočítá výskyty čísla 2 pomocícount()>a nakonec vytiskne výsledek. Tento fragment kódu efektivně ukazuje schopnost analyzovat rozložení prvků v polích.

Python3
import array my_array = array.array('i', [1, 2, 3, 4, 2, 5, 2]) count = my_array.count(2) print('Number of occurrences of 2:', count)>

Výstup
Number of occurrences of 2: 3>

Složitost počítání prvků v polích

Časová náročnost: Na)
Pomocný prostor: O(1)

Obrácení prvků v poli

Abychom obrátili prvky pole, musíme jednoduše použít obrácenou metodu.

Příklad: Prezentovaný kód demonstruje funkčnost obrácení pořadí prvků v poli pomocí reverse()> metoda. Dovážíarray>modul, vytvoří pole celých čísel, vytiskne původní pole, obrátí pořadí prvků pomocíreverse()>a poté vytiskne obrácené pole. To efektivně ilustruje schopnost modifikovat uspořádání prvků v poli.

Python3
import array my_array = array.array('i', [1, 2, 3, 4, 5]) print('Original array:', *my_array) my_array.reverse() print('Reversed array:', *my_array)>

Výstup
Original array: 1 2 3 4 5 Reversed array: 5 4 3 2 1>

Složitosti pro obrácení prvků v polích:

Časová náročnost: Na)
Pomocný prostor: O(1)

Rozšířit prvek z pole

V článku se budeme věnovat seznamu pythonů rozšířit() a pokusit se pochopit Python list extend().

Co je extend element z pole?

V Pythonu se pole používá k uložení více hodnot nebo prvků stejného datového typu do jedné proměnné. The rozšířit() Funkce se jednoduše používá k připojení položky z iterovatelného na konec pole. Jednodušeji řečeno, tato metoda se používá k přidání pole hodnot na konec daného nebo existujícího pole.

Syntaxe list extend()

Syntaxe rozšířit() metoda:

designové vzory java
list.extend(iterable)>

Zde jsou všechny prvky iterable přidány na konec seznamu list1

Příklad 1:

Poskytnutý kód demonstruje schopnost rozšířit pole o další prvky. Dovážíarray>modul pomocí aliasu, vytvoří pole celých čísel, vytiskne pole před rozšířením, rozšíří pole pomocí extend()> a nakonec vytiskne rozšířené pole. To výstižně ilustruje možnost přidávat prvky do existující struktury pole

Python3
import array as arr a = arr.array('i', [1, 2, 3,4,5]) print('The before array extend : ', end =' ') for i in range (0, 5): print (a[i], end =' ') print() a.extend([6,7,8,9,10]) print('
The array after extend :',end=' ') for i in range(0,10): print(a[i],end=' ') print()>

Výstup
The before array extend : 1 2 3 4 5 The array after extend : 1 2 3 4 5 6 7 8 9 10>

Příklad 2:

Poskytnutý kód demonstruje schopnost rozšířit pole o různé typy dat, včetně celých čísel a pohyblivých hodnot. Využíváarray>modul, vytváří pole obou datových typů a rozšiřuje je pomocí extend()> metoda. Pole se pak vytisknou před a po rozšíření pro znázornění změn. To efektivně ukazuje schopnost připojovat prvky k poli různých reprezentací dat.

Python3
import array as arr a=arr.array('i',[1,2,3,4,5,6]) print('The Before extend array is :',end=' ') for i in range(0,6): print(a[i],end=' ') print() a.extend([7,8,9,10,11,12]) print('
The After extend array is :',end=' ') for i in range(0,12): print(a[i],end=' ') print() b = arr.array('d', [2.1,2.2,2.3,2.4,2.5,2.6]) print('
The before extend array is :',end=' ') for i in range(0,6): print(b[i],end=' ') print() b.extend([2.6,2.7,2.8,2.9]) print('
The after extend array is :',end=' ') for i in range(0,9+1): print(b[i],end=' ') print()>

Výstup
The Before extend array is : 1 2 3 4 5 6 The After extend array is : 1 2 3 4 5 6 7 8 9 10 11 12 The before extend array is : 2.1 2.2 2.3 2.4 2.5 2.6 The after extend array is : 2.1 2.2 2.3 2.4 2...>

Složitosti pro prvek extend z pole:

Časová složitost : O(1)
Pomocný prostor: O(1)

Další informační zdroje související s Python Array:

  • Pole v Pythonu | Sada 1 (úvod a funkce)
  • Pole v Pythonu | Sada 2 (Důležité funkce) an