logo

Polia Python

Pre jednoduchosť si môžeme pole Python predstaviť ako skupinu schodov, kde je na každom schode umiestnená hodnota (povedzme jeden z vašich priateľov). Tu môžete identifikovať polohu ktoréhokoľvek z vašich priateľov jednoduchým poznaním počtu krokov, na ktorých sú. Pole môže byť v Pythone spravované modulom s názvom pole. Môžu byť užitočné, keď musíme manipulovať iba s konkrétnymi hodnotami typu údajov. Používateľ môže považovať zoznamy za polia. Používateľ však nemôže obmedziť typ prvkov uložených v zozname. Ak vytvoríte polia Pythonu pomocou modulu poľa, všetky prvky poľa v Pythone musia byť rovnakého typu. V tomto článku uvidíme, ako používať pole v Pythone s príkladmi.

Čo je pole v Pythone?

Pole je kolekcia položiek uložených v súvislých pamäťových miestach. Cieľom je uložiť viacero položiek rovnakého typu spolu. To uľahčuje výpočet polohy každého prvku jednoduchým pridaním posunu k základnej hodnote, t. j. pamäťovému umiestneniu prvého prvku poľa (všeobecne označeného názvom poľa).



Vytvorte pole v Pythone

Pole v Pythone možno vytvoriť importovaním modulu poľa. pole( Dátový typ , zoznam_hodnot ) sa používa na vytvorenie poľa v Pythone s typom údajov a zoznamom hodnôt špecifikovaným v jeho argumentoch.

V nižšie uvedenom kóde Python vytvorte pole: jeden z celé čísla a jeden z štvorhra . Potom vytlačí obsah každého poľa 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ýkon
The new created array is : 1 2 3 The new created array is : 2.5 3.2 3.3>

Zložitosti pri vytváraní polí:

Časová zložitosť: O(1)
Pomocný priestor: O(n)

Niektoré z dátových typov sú uvedené nižšie, čo pomôže pri vytváraní poľa v Pythone 3.8

rôznych dátových typov.



Teraz uvidíme, ako použiť pole v Pythone 3.8 s príkladom.

Pridávanie prvkov do poľa

Prvky je možné pridať do poľa Python pomocou vstavaného vložiť() funkciu. Vložiť sa používa na vloženie jedného alebo viacerých dátových prvkov do poľa. Na základe požiadavky je možné pridať nový prvok na začiatok, koniec alebo akýkoľvek daný index poľa. pripojiť () sa tiež používa na pridanie hodnoty uvedenej v jej argumentoch na koniec poľa Python.

Nižšie kód najprv importuje súbor pole modul ako Python import pole ako arr . Potom vytvorí pole celých čísel s názvom a s prvkami [1, 2, 3] . V nižšie uvedenom kóde Python vytlačí pole, pretože pole sa vytlačí pred a po vložení celého čísla 4 na indexe 1. Podobne pole double s názvom b s prvkami [2,5, 3,2, 3,3] sa vytvorí a vytlačí pred a po pridaní dvojitého 4.4 do poľa.

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

Zložitosť pridávania prvkov do polí

Časová zložitosť: O(1)/O(n) ( O(1) – na vloženie prvkov na koniec poľa, O(n) – na vloženie prvkov na začiatok poľa a do celého poľa
Pomocný priestor: O(1)

Prístup k prvkom z poľa

Ak chcete získať prístup k položkám poľa, pozrite si číslo indexu. Na prístup k položke v poli v Pythone použite indexový operátor [ ]. Index musí byť celé číslo.

Nižšie kód najprv ukazuje, ako Python importovať pole a použitie indexovania na prístup k prvkom v poliach. Thea[0]>výraz pristupuje k prvému prvku poľaa>, čo je 1. Thea[3]>výraz pristupuje k štvrtému prvku poľaa>, čo je 4. Podobne ajb[1]>výraz pristupuje k druhému prvku poľab>, čo je 3.2, ab[2]>výraz pristupuje k tretiemu prvku poľab>, čo je 3.3.

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ýkon :

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

Zložitosť prístupu k prvkom v poliach

Časová zložitosť: O(1)
Pomocný priestor: O(1)

Odstránenie prvkov z poľa

Prvky možno z poľa Python odstrániť pomocou vstavaného odstrániť () funkciu, ale ak prvok v množine neexistuje, objaví sa chyba. Metóda Remove() odstraňuje iba jeden prvok naraz, na odstránenie rozsahu prvkov sa používa iterátor. pop() funkciu možno použiť aj na odstránenie a vrátenie prvku z poľa, ale štandardne odstraňuje iba posledný prvok poľa, na odstránenie prvku z konkrétnej pozície poľa sa index prvku odovzdá ako argument do poľa metóda pop().
Poznámka - Metóda Odstrániť v zozname odstráni iba prvý výskyt hľadaného prvku.

Nižšie kód ukazuje, ako Python importovať pole, ako vytvoriť, vytlačiť, odstrániť prvky z poľa a získať prístup k prvkom poľa v Pythone. Dovážaarray>modul, ktorý sa používa na prácu s poliami. Vytvára pole celých čísel a tlačových polí Pythonu alebo vytlačí pôvodné pole. Potom odstráni prvok z poľa a vytlačí upravené pole. Nakoniec odstráni všetky výskyty konkrétneho prvku z poľa a vytlačí 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ýkon
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>

Zložitosti pri odstraňovaní prvkov v poliach

Časová zložitosť: O(1)/O(n) ( O(1) – na odstránenie prvkov na konci poľa, O(n) – na odstránenie prvkov na začiatku vytvorenia poľa v Pythone a na celé pole
Pomocný priestor: O(1)

Krájanie poľa

V poli Python existuje niekoľko spôsobov, ako vytlačiť celé pole so všetkými prvkami, ale na tlač konkrétneho rozsahu prvkov z poľa používame Operácia plátkov . Operácia rezu sa vykonáva na poli s použitím dvojbodky (:). Na tlač prvkov od začiatku do rozsahu použite [:Index], na tlač prvkov od konca [:-Index], na tlač prvkov zo špecifického indexu do konca použite [Index:], na tlač prvkov v rozsahu použite [ Začiatok indexu:Koniec indexu] a na tlač celého zoznamu s použitím operácie rezania použite [:]. Ďalej, ak chcete vytlačiť celé pole v opačnom poradí, použite [::-1].

Tento kód využíva krájanie na extrakciu prvkov alebo podpolí z poľa. Začína počiatočným poľom celých čísel a vytvára pole zo zoznamu. Kód rozdelí pole, aby extrahoval prvky od indexu 3 do 8, od indexu 5 po koniec, a celé pole a v nižšie uvedenom kóde vytlačí pole Python ako Rozrezané polia sa potom vytlačia, aby sa demonštrovali operácie rozdeľovania.

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ýkon
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...>

Vyhľadávací prvok v poli

Na vyhľadávanie prvku v poli používame vstavaný python index() metóda. Táto funkcia vráti index prvého výskytu hodnoty uvedenej v argumentoch.

Príklad: Kód ukazuje, ako vytvoriť pole v Pythone, vytlačiť jeho prvky a nájsť indexy konkrétnych prvkov. Dovážaarray>modul, vytvorí pole celých čísel, vytlačí pole pomocou cyklu for a potom použijeindex()>metóda na nájdenie indexov prvých výskytov 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ýkon
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>

Zložitosť vyhľadávania prvkov v poliach

Časová zložitosť: O(n)
Pomocný priestor: O(1)

Aktualizácia prvkov v poli

Aby sme aktualizovali prvok v poli, jednoducho priradíme novú hodnotu požadovanému indexu, ktorý chceme aktualizovať.

Príklad: Tento kód ilustruje funkčnosť úpravy prvkov v poli pomocou indexovania. Dovážaarray>modul, vytvorí pole celých čísel a vytlačí počiatočné pole. Potom upraví dva prvky poľa na konkrétnych indexoch a vytlačí aktualizované pole. Toto slúži na demonštráciu toho, ako indexovanie umožňuje dynamickú manipuláciu s obsahom poľa.

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

Zložitosť aktualizácie prvkov v poliach

Časová zložitosť: O(n)
Pomocný priestor: O(1)

sieť a typy sietí

Rôzne operácie na poliach Python

Počítanie prvkov v rade

Aby sme mohli spočítať prvky v poli, musíme použiť metódu počítania.

Príklad: Kód ukazuje, ako určiť frekvenciu konkrétneho prvku v poli. Dovážaarray>modul, vytvorí pole celých čísel, aby vytvoril polia v Pythone a počíta výskyty čísla 2 pomocoucount()>a nakoniec vytlačí výsledok. Tento útržok kódu efektívne ukazuje schopnosť analyzovať distribúciu prvkov v poliach.

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ýkon
Number of occurrences of 2: 3>

Zložitosti počítania prvkov v poliach

Časová zložitosť: O(n)
Pomocný priestor: O(1)

Obrátenie prvkov v poli

Aby sme obrátili prvky poľa, musíme jednoducho použiť reverznú metódu.

Príklad: Prezentovaný kód demonštruje funkčnosť obrátenia poradia prvkov v poli pomocou reverse()> metóda. Dovážaarray>modul, vytvorí pole celých čísel, vytlačí pôvodné pole, obráti poradie prvkov pomocoureverse()>a potom vytlačí obrátené pole. To efektívne ilustruje schopnosť modifikovať usporiadanie prvkov 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ýkon
Original array: 1 2 3 4 5 Reversed array: 5 4 3 2 1>

Zložitosti reverzných prvkov v poliach:

Časová zložitosť: O(n)
Pomocný priestor: O(1)

Rozšírte prvok z poľa

V článku sa budeme zaoberať zoznamom pythonov predĺžiť () a snažte sa pochopiť Python list extend().

Čo je prvok rozšírenia z poľa?

V Pythone sa pole používa na uloženie viacerých hodnôt alebo prvkov rovnakého dátového typu do jednej premennej. The predĺžiť () funkcia sa jednoducho používa na pripojenie položky z iterovateľného na koniec poľa. Zjednodušene povedané, táto metóda sa používa na pridanie poľa hodnôt na koniec daného alebo existujúceho poľa.

Syntax funkcie list extend()

Syntax súboru predĺžiť () metóda:

list.extend(iterable)>

Tu sú všetky prvky iterable pridané na koniec zoznamu1

Príklad 1:

Poskytnutý kód demonštruje schopnosť rozšíriť pole o ďalšie prvky. Dovážaarray>modul pomocou aliasu, vytvorí pole celých čísel, vypíše pole pred rozšírením, rozšíri pole pomocou extend()> a nakoniec vytlačí rozšírené pole. To výstižne ilustruje schopnosť pridávať prvky do existujúcej štruktúry poľa

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ýkon
The before array extend : 1 2 3 4 5 The array after extend : 1 2 3 4 5 6 7 8 9 10>

Príklad 2:

Poskytnutý kód demonštruje schopnosť rozšíriť polia o rôzne typy údajov vrátane celých čísel a pohyblivých hodnôt. Využíva saarray>modul, vytvára polia oboch dátových typov a rozširuje ich pomocou extend()> metóda. Polia sa potom vytlačia pred a po rozšírení, aby sa ilustrovali zmeny. To efektívne demonštruje schopnosť pripojiť prvky k poliam rôznych reprezentácií údajov.

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ýkon
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...>

Zložitosti pre prvok rozšírenia z poľa:

Časová zložitosť : O(1)
Pomocný priestor: O(1)

Ďalšie informačné zdroje súvisiace s Python Array:

  • Pole v Pythone | Sada 1 (Úvod a funkcie)
  • Pole v Pythone | Sada 2 (dôležité funkcie) an