Kā masīvi un saraksti darbojas Python

Kā masīvi un saraksti darbojas Python

Masīvi un saraksti ir dažas no visnoderīgākajām datu struktūrām programmēšanā - lai gan tikai daži cilvēki tos pilnībā izmanto. Šodien es jums pastāstīšu pamatus, kā arī dažus vienkāršus Python piemērus.





Priekšnosacījumi

Lai uzzinātu šos jēdzienus, nav daudz jāzina pirms laika. Pamatzināšanas par programmēšanas paradigmām un Python būs noderīgas, taču tās nav obligātas. Izlasiet mūsu Python pamata piemēri ja nezini, ar ko sākt. Ja jūs domājat, ka Python ir bezjēdzīga valoda, pārbaudiet mūsu iemeslus, kāpēc tā nav.





Lai gan šādas pamatidejas var piemērot jebkurai valodai, es parādīšu piemērus Python. Tā ir viegli iemācāma valoda un nodrošina lielisku platformu, lai saprastu, kas notiek. Papildus tam, tutorialspoint.com nodrošina lielisku tiešsaistes Python tulku - jums pat nav jāinstalē Python, ja nevēlaties (ja vēlaties, skatiet mūsu virtuālās vides ceļvedi).





Datu struktūras

Kas ir a datu struktūra ? Visvienkāršākajā līmenī datu struktūra ir veids, kā efektīvi uzglabāt datus. Ir viegli apmulst, jo datu struktūras nav datu veidi . Datu veidi norāda kompilatoram (vai Python gadījumā tulkam), kā dati ir paredzēti izmantošanai. Datu struktūras nosaka darbības, kuras var veikt, un bieži vien ievieš īpašus noteikumus un noteikumus.

Jūs, iespējams, esat dzirdējuši par dažiem lineārs datu tipi (elementi ir secīgi):



  • Masīvs
  • Matrica
  • Uzmeklēšanas tabula

Līdzīgi, sarakstus bieži satur noteikumus un metodes, kā regulēt to darbību. Daži izplatīti saraksti ir šādi:

  • Saistītais saraksts
  • Dubultā saikne
  • Masīvu saraksts vai dinamiskais masīvs

Ir daudz dažādu datu struktūru. Jūs, iespējams, esat dzirdējuši binārie koki , grafikus , vai hash . Es šodien apspriedīšu pamatus, bet, iespējams, vēlēsities uzzināt vairāk, kad būsiet ērti.





Masīvs

Sāksim sākumā. Masīvs ir vienkārša (saistītu) vērtību kolekcija. Šīs vērtības sauc par elementiem. Parasti tie var būt jebkura veida dati, kas jums patīk, ieskaitot objektus vai citus sarakstus! Galvenais brīdinājums ar masīviem ir tāds, ka visiem datiem ir jābūt vienādiem - jūs nevarat saglabāt jauktas virknes un veselus skaitļus. Jūs gandrīz vienmēr jānorāda, cik elementu vēlaties saglabāt. Mainīga izmēra vai dinamiskie masīvi pastāv, bet ar fiksēta garuma masīviem ir vieglāk sākt.

Python nedaudz sarežģī lietas. Tas jums padara lietas ļoti vienkāršas, taču tas ne vienmēr ievēro stingras datu struktūru definīcijas. Lielākā daļa Python objektu parasti ir saraksti, tāpēc masīva izveide patiesībā ir vairāk darba. Šeit ir daži sākuma kodi:





from array import array
numbers = array('i', [2, 4, 6, 8])
print(numbers[0])

Pirmā rinda importē masīvs modulis - tas ir nepieciešams, lai strādātu ar masīviem. Otrā rinda izveido jaunu masīvu ar nosaukumu numurus un inicializē to ar vērtībām 2, 4, 6 un 8. Katram elementam tiek piešķirts an vesels skaitlis vērtība, ko sauc par a taustiņu vai rādītājs . Atslēgas sākas plkst nulle , tā skaitļi [0] piekļūs pirmajam elementam ( 2 ):

Jums var rasties jautājums, kas tas ir 'es' tiek izmantots. Tas ir tipa kods kas norāda Python, masīvs saglabās veselus skaitļus. Šādas lietas Python parasti nebūtu vajadzīgas (to uzskatītu par “nehiptonisku”). Iemesls tam ir vienkāršs. Python masīvi ir ļoti plāns iesaiņojums jūsu operētājsistēmas C masīvos. Tas nozīmē, ka tie ir ātri un stabili, taču tie ne vienmēr var ievērot Python sintaksi.

izdzēst failus no onedrive, bet ne no datora

Šajos masīvos nevar uzglabāt jauktos veidus. Pieņemsim, ka vēlaties saglabāt virkni 'makeuseof.com':

numbers = array('i', [2, 4, 6, 'makeuseof.com'])

Tas nebūs atļauts un radīs izņēmumu:

Lūk, kā var izdrukāt visus elementus:

print(numbers)

Šī masīva elementu piekļuves metode darbojas labi, un tā ir lieliski piemērota pareizajam uzdevumam. Tas nav labi, lai piekļūtu visam masīvam. Programmētāji pēc savas būtības ir slinki, tāpēc labprāt rakstīšu vairāk, labāku kodu, ja tas nozīmē, ka varu atvieglot apkopi un samazināt kopēšanas un ielīmēšanas piepūli.

Katra programmēšanas valoda ieviesīs sava veida cilpu, kas ir ideāli piemērota iterācijai (cilpai) pār saraksta elementiem. Visbiežāk sastopamās cilpas ir kamēr un priekš . Python padara lietas vēl vieglākas, nodrošinot par cilpa:

for number in numbers:
print(number)

Ievērojiet, kā jums nebija jāpiekļūst elementiem pēc to atslēgas. Tas ir daudz labāks veids, kā strādāt ar masīvu. Alternatīvs veids, kā atkārtot sarakstu, ir ar priekš cilpa:

for i in range(len(numbers)):
print(numbers[i])

Tas darbojas tieši tāpat kā iepriekšējais piemērs, lai gan jums bija jānorāda masīva elementu skaits ( len (automašīnas) ), kopā ar garāmgājēju i kā masīva atslēga. Tas ir gandrīz tieši tas kods par cilpas palaist. Šis veids nodrošina nedaudz lielāku elastību un ir nedaudz ātrāks (lai gan par cilpas ir vairāk nekā pietiekami ātras vairums Laikā.)

Saraksti

Tagad, kad jūs zināt, kā darbojas masīvi, apskatīsim sarakstu. Dažreiz tas var būt mulsinoši, jo cilvēki savstarpēji aizstāj dažādas terminoloģijas un sarakstus ir masīvi ... veida.

Saraksts ir īpašs masīva veids. Lielākā atšķirība ir tā, ka saraksti var saturēt jaukts veidi (atcerieties, ka masīviem jābūt viena tipa elementiem). Saraksti Python ir ļoti vienkārši:

icloud neļaus man pierakstīties iPhone
cars = ['Ford', 'Austin', 'Lancia']

Ievērojiet, kā jums nav nepieciešams importēt masīvs modulis?

Šī sintakse deklarē sarakstu ar nosaukumu automašīnas. Kvadrātiekavās tiek deklarēts katrs saraksta elements. Katrs elements ir atdalīts ar komatu, un, tā kā katrs elements ir virkne, jūs tos deklarējat pēdiņās. Python zina, ka tas ir objekts, tāpēc drukāt paziņojums izvadīs saraksta saturu:

print(cars)

Tāpat kā masīvā, saraksta elementus var atkārtot, izmantojot cilpas:

for car in cars:
print(car)

Sarakstu īstais ballīšu triks ir to jauktais tips. Iet uz priekšu un pievienojiet papildu datus:

cars = ['Ford', 'Austin', 'Lancia', 1, 0.56]

Python tas nav problēma - tas pat neizraisīja izņēmumu:

Sarakstam ir viegli pievienot jaunus elementus (kaut kas nav iespējams ar masīviem):

cars = ['Ford', 'Austin']
print(cars)
cars.append('Lancia')
print(cars)

Varat arī apvienot divus sarakstus vienā:

cars = ['Ford', 'Austin']
print(cars)
other_cars = ['Lotus', 'Lancia']
cars.extend(other_cars)
print(cars)

Tikpat viegli noņemt elementus, izmantojot noņemt sintakse:

cars = ['Ford', 'Austin', 'Lotus', 'Lancia']
print(cars)
cars.remove('Ford')
print(cars)

Tas attiecas uz Python sarakstu un masīvu pamatiem. Kāpēc neapdomāt kodēšanas projektu, piemēram, lasīšanu un rakstīšanu Google izklājlapās, json datu lasīšanu. Varbūt jūs varētu izmantot savas jaunās prasmes, lai tās izveidotu pielāgotas īsinājumtaustiņi . Neskatoties uz to, ka tā ir atšķirīga programmēšanas valoda, šie masīva principi joprojām ir spēkā.

Kopīgot Kopīgot Čivināt E -pasts 5 padomi, kā uzlādēt VirtualBox Linux iekārtas

Vai esat noguris no virtuālo mašīnu piedāvātās sliktās veiktspējas? Lūk, kas jums jādara, lai uzlabotu VirtualBox veiktspēju.

Lasīt Tālāk
Saistītās tēmas
  • Programmēšana
  • Programmēšana
  • Python
Par autoru Džo Koburns(Publicēti 136 raksti)

Džo ir absolvējis datorzinātnes Linkolnas universitātē, Lielbritānijā. Viņš ir profesionāls programmatūras izstrādātājs, un, kad viņš nelido ar droniem un neraksta mūziku, viņu bieži var atrast, fotografējot vai veidojot video.

Vairāk no Džo Kobērna

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam, lai iegūtu tehniskus padomus, pārskatus, bezmaksas e -grāmatas un ekskluzīvus piedāvājumus!

Noklikšķiniet šeit, lai abonētu