logo

Python masyvai

Paprastumo dėlei Python masyvą galime įsivaizduoti kaip laiptų parką, kuriame kiekviename žingsnyje yra reikšmė (tarkime, vienas iš jūsų draugų). Čia galite nustatyti bet kurio savo draugo vietą tiesiog žinodami jų žingsnių skaičių. Masyvas gali būti tvarkomas Python naudojant modulį, pavadintą masyvu. Jie gali būti naudingi, kai turime manipuliuoti tik konkrečiomis duomenų tipo reikšmėmis. Vartotojas gali traktuoti sąrašus kaip masyvus. Tačiau vartotojas negali apriboti sąraše saugomų elementų tipo. Jei kuriate Python masyvus naudodami masyvo modulį, visi Python masyvo elementai turi būti to paties tipo. Šiame straipsnyje su pavyzdžiais pamatysime, kaip naudoti masyvą Python.

Kas yra Python masyvas?

Masyvas yra elementų, saugomų gretimose atminties vietose, rinkinys. Idėja yra laikyti kelis to paties tipo elementus kartu. Tai palengvina kiekvieno elemento padėties apskaičiavimą tiesiog pridedant poslinkį prie pagrindinės reikšmės, t. y. pirmojo masyvo elemento atminties vietos (paprastai žymima masyvo pavadinimu).



Sukurkite masyvą „Python“.

Python masyvas gali būti sukurtas importuojant masyvo modulį. array( duomenų tipas , vertės_sąrašas ) naudojamas Python masyvui sukurti su duomenų tipu ir reikšmių sąrašu, nurodytu jo argumentuose.

Žemiau esančiame kode Python sukurkite masyvą: vieną iš sveikieji skaičiai ir vienas iš dvejetai . Tada jis išspausdina kiekvieno masyvo turinį į konsolę.



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=' ')>

Išvestis
The new created array is : 1 2 3 The new created array is : 2.5 3.2 3.3>

Masyvų kūrimo sudėtingumas:

Laiko sudėtingumas: O(1)
Pagalbinė erdvė: O(n)

Kai kurie duomenų tipai yra paminėti toliau, kurie padės sukurti masyvą Python 3.8

skirtingų duomenų tipų.



Dabar pamatysime, kaip naudoti masyvą Python 3.8 su pavyzdžiu.

Elementų įtraukimas į masyvą

Elementai gali būti įtraukti į Python masyvą naudojant integruotą Įdėti() funkcija. Įterpimas naudojamas vienam ar daugiau duomenų elementų įterpti į masyvą. Atsižvelgiant į reikalavimą, naujas elementas gali būti įtrauktas į masyvo pradžią, pabaigą arba bet kurį nurodytą indeksą. pridėti () taip pat naudojamas norint pridėti reikšmę, paminėtą jo argumentuose Python masyvo pabaigoje.

Žemiau esantis kodas pirmiausia importuoja masyvas modulis kaip Python importo masyvas kaip arr . Tada sukuriamas sveikųjų skaičių masyvas pavadintas a su elementais [1, 2, 3] . Žemiau esančiame kode Python spausdinimo masyvas kaip masyvas spausdinamas prieš ir po sveikojo skaičiaus įterpimo 4 ties indeksu 1. Panašiai masyvas dublių, pavadintų b su elementais [2.5, 3.2, 3.3] sukuriamas ir atspausdinamas prieš ir po dvigubo pridėjimo 4.4 į masyvą.

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()>

Išvestis
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>

Elementų įtraukimo į masyvus sudėtingumas

Laiko sudėtingumas: O(1)/O(n) ( O(1) – elementams įterpti masyvo pabaigoje, O(n) – elementams įterpti masyvo pradžioje ir į visą masyvą
Pagalbinė erdvė: O(1)

Prieiga prie elementų iš masyvo

Norėdami pasiekti masyvo elementus, žr. indekso numerį. Naudokite indekso operatorių [ ] norėdami pasiekti elementą masyve programoje Python. Indeksas turi būti sveikasis skaičius.

Žemiau kodas pirmiausia parodo, kaip „Python“ importuoti masyvą ir naudoti indeksavimą norint pasiekti masyvų elementus. Thea[0]>išraiška pasiekia pirmąjį masyvo elementąa>, kuris yra 1a[3]>išraiška pasiekia ketvirtąjį masyvo elementąa>, kuris yra 4. Panašiai,b[1]>išraiška pasiekia antrąjį masyvo elementąb>, kuris yra 3,2, irb[2]>išraiška pasiekia trečiąjį masyvo elementąb>, tai yra 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])>

Išvestis:

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

Masyvų elementų prieigos sudėtingumas

Laiko sudėtingumas: O(1)
Pagalbinė erdvė: O(1)

tipo liejimas ir tipo konvertavimas Java

Elementų pašalinimas iš masyvo

Elementai gali būti pašalinti iš Python masyvo naudojant integruotą pašalinti () funkcija, tačiau jei elemento rinkinyje nėra, atsiranda klaida. Remove() metodas vienu metu pašalina tik vieną elementą, norint pašalinti elementų diapazoną, naudojamas iteratorius. pop () Funkcija taip pat gali būti naudojama norint pašalinti ir grąžinti elementą iš masyvo, tačiau pagal numatytuosius nustatymus ji pašalina tik paskutinį masyvo elementą, norint pašalinti elementą iš konkrečios masyvo pozicijos, elemento indeksas perduodamas kaip argumentas pop() metodas.
Pastaba - Pašalinimo metodas sąraše pašalins tik pirmąjį ieškomo elemento atvejį.

Žemiau kodas rodo, kaip Python importuoti masyvą, kaip sukurti, spausdinti, pašalinti elementus iš masyvo ir pasiekti masyvo elementus Python. Ji importuojaarray>modulis, kuris naudojamas darbui su masyvais. Jis sukuria sveikųjų skaičių masyvą ir Python spausdinimo masyvuose arba spausdina pradinį masyvą. Tada jis pašalina elementą iš masyvo ir išspausdina pakeistą masyvą. Galiausiai jis pašalina visus konkretaus elemento atvejus iš masyvo ir išspausdina atnaujintą masyvą

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=' ')>

Išvestis
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>

Elementų pašalinimo iš masyvų sudėtingumas

Laiko sudėtingumas: O(1)/O(n) ( O(1) – elementams pašalinti masyvo pabaigoje, O(n) – elementams pašalinti Python kūrimo masyvo pradžioje ir į visą masyvą
Pagalbinė erdvė: O(1)

Masyvo pjaustymas

Python masyve yra keli būdai spausdinti visą masyvą su visais elementais, tačiau norėdami išspausdinti tam tikrą elementų diapazoną iš masyvo, naudojame Pjaustymo operacija . Pjūvio operacija atliekama masyve naudojant dvitaškį (:). Norėdami spausdinti elementus nuo pradžios iki diapazono, naudokite [:Index], norėdami spausdinti elementus nuo galutinio naudojimo [:-Index], norėdami spausdinti elementus nuo konkrečios rodyklės iki galutinio naudojimo [Indeksas:], norėdami spausdinti elementus diapazone, naudokite [ Start Index: End Index] ir norėdami spausdinti visą sąrašą naudodami pjaustymo operaciją, naudokite [:]. Be to, norėdami spausdinti visą masyvą atvirkštine tvarka, naudokite [::-1].

Šiame kode naudojamas pjaustymas, norint iš masyvo išgauti elementus arba pogrupius. Jis prasideda nuo pradinio sveikųjų skaičių masyvo ir sukuria masyvą iš sąrašo. Kodas suskaido masyvą, kad išskirtų elementus nuo 3 iki 8 indekso, nuo 5 indekso iki pabaigos, o visas masyvas ir In žemiau kodas Python spausdinimo masyvas kaip Tada atspausdinami supjaustyti masyvai, siekiant parodyti pjaustymo operacijas.

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)>

Išvestis
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...>

Elemento paieška masyve

Norėdami ieškoti elemento masyve, naudojame įmontuotą python indeksas() metodas. Ši funkcija grąžina pirmojo argumentuose nurodytos reikšmės pasireiškimo indeksą.

Pavyzdys: Kodas parodo, kaip sukurti masyvą Python, spausdinti jo elementus ir rasti konkrečių elementų indeksus. Ji importuojaarray>modulis, sukuria sveikųjų skaičių masyvą, atspausdina masyvą naudojant for kilpą ir tada naudojaindex()>būdas rasti sveikųjų skaičių 2 ir 1 pirmųjų pasikartojimų indeksus.

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))>

Išvestis
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>

Elementų paieškos masyvuose sudėtingumas

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(1)

Elementų atnaujinimas masyve

Norėdami atnaujinti masyvo elementą, norimam indeksui, kurį norime atnaujinti, tiesiog priskiriame naują reikšmę.

Pavyzdys: Šis kodas iliustruoja masyvo elementų modifikavimo naudojant indeksavimą funkcionalumą. Ji importuojaarray>modulį, sukuria sveikųjų skaičių masyvą ir išspausdina pradinį masyvą. Tada jis modifikuoja du masyvo elementus tam tikruose indeksuose ir išspausdina atnaujintą masyvą. Tai parodo, kaip indeksavimas leidžia dinamiškai manipuliuoti masyvo turiniu.

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=' ')>

Išvestis
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>

Masyvų elementų atnaujinimo sudėtingumas

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(1)

Įvairios operacijos Python masyvuose

Elementų skaičiavimas masyve

Norėdami suskaičiuoti elementus masyve, turime naudoti skaičiavimo metodą.

Pavyzdys: Kodas parodo, kaip nustatyti konkretaus masyvo elemento dažnį. Ji importuojaarray>modulis, sukuria sveikųjų skaičių masyvą, kad sukurtų masyvus Python ir skaičiuoja skaičiaus 2 atvejus, naudojantcount()>metodą ir galiausiai išspausdina rezultatą. Šis kodo fragmentas efektyviai parodo galimybę analizuoti elementų pasiskirstymą masyvuose.

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)>

Išvestis
Number of occurrences of 2: 3>

Elementų skaičiavimo masyvuose sudėtingumas

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(1)

Elementų keitimas masyve

Norėdami pakeisti masyvo elementus, turime tiesiog naudoti atvirkštinį metodą.

Pavyzdys: Pateiktas kodas parodo elementų eilės masyve keitimo funkciją naudojant reverse()> metodas. Ji importuojaarray>modulis, sukuria sveikųjų skaičių masyvą, atspausdina pradinį masyvą, keičia elementų tvarką naudojantreverse()>, tada išspausdina atvirkštinį masyvą. Tai efektyviai parodo galimybę keisti elementų išdėstymą masyve.

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)>

Išvestis
Original array: 1 2 3 4 5 Reversed array: 5 4 3 2 1>

Elementų apvertimo masyvuose sudėtingumas:

Laiko sudėtingumas: O(n)
Pagalbinė erdvė: O(1)

Išplėskite elementą iš masyvo

Straipsnyje apžvelgsime python sąrašą pratęsti () ir pabandykite suprasti Python sąrašas išplėsti ().

Kas yra išplėstinis elementas iš masyvo?

Python masyvas naudojamas kelioms to paties duomenų tipo reikšmėms arba elementams saugoti viename kintamajame. The pratęsti () Funkcija tiesiog naudojama norint pridėti elementą nuo kartojamo iki masyvo pabaigos. Paprasčiau tariant, šis metodas naudojamas reikšmių masyvui pridėti prie nurodyto ar esamo masyvo pabaigos.

Sąrašo išplėtimo () sintaksė

Sintaksė pratęsti () metodas:

list.extend(iterable)>

Čia visi iterable elementai pridedami prie sąrašo1 pabaigos

int į eilutę Java

1 pavyzdys:

Pateiktas kodas parodo galimybę išplėsti masyvą įtraukiant papildomų elementų. Ji importuojaarray>modulis naudodamas slapyvardį, sukuria sveikųjų skaičių masyvą, atspausdina masyvą prieš plėtinį, išplečia masyvą naudodamas extend()> metodą ir galiausiai išspausdina išplėstinį masyvą. Tai glaustai iliustruoja galimybę įtraukti elementus į esamą masyvo struktūrą

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()>

Išvestis
The before array extend : 1 2 3 4 5 The array after extend : 1 2 3 4 5 6 7 8 9 10>

2 pavyzdys:

Pateiktas kodas parodo galimybę išplėsti masyvus naudojant įvairius duomenų tipus, įskaitant sveikuosius skaičius ir slankiuosius duomenis. Jis naudojaarray>modulis, sukuria abiejų tipų duomenų masyvus ir išplečia juos naudodamas extend()> metodas. Tada masyvai spausdinami prieš ir po išplėtimo, siekiant iliustruoti pakeitimus. Tai efektyviai parodo galimybę pridėti elementus prie skirtingų duomenų atvaizdų masyvų.

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()>

Išvestis
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...>

Elemento išplėtimo iš masyvo sudėtingumas:

Laiko sudėtingumas : O(1)
Pagalbinė erdvė: O(1)

Daugiau informacijos išteklius, susijęs su Python masyvu:

  • Masyvas Python | 1 rinkinys (įvadas ir funkcijos)
  • Masyvas Python | 2 rinkinys (svarbios funkcijos) an