Reklāma
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 patiešām izmanto pilnībā. Šodien es runāšu par jums, izmantojot pamatus, kā arī dažus vienkāršus Python piemērus.
Priekšnosacījumi
Lai uzzinātu šos jēdzienus, ir jāzina pirms laika. Būs noderīgas pamatzināšanas par programmēšanas paradigmām un Python, taču tās nav vajadzīgas. Izlasiet mūsu pamata Python piemēri 10 pamata Python piemēri, kas palīdzēs ātri mācītiesŠis python pamata piemēru raksts ir paredzēts tiem, kuriem jau ir zināma programmēšanas pieredze un kuri vienkārši vēlas pēc iespējas ātrāk pāriet uz Python. Lasīt vairāk ja nezināt, kur sākt. Ja jūs domājat, ka Python ir bezjēdzīga valoda, pārbaudiet mūsu iemesli, kāpēc tā nav 5 iemesli, kāpēc Python programmēšana nav bezjēdzīgaPython - vai nu jums tas patīk, vai arī jūs to ienīst. Jūs pat varētu svārstīties no viena gala līdz otram kā svārsts. Neatkarīgi no tā, Python ir valoda, par kuru grūti izturēties divdomīgi. Lasīt vairāk .
Kaut arī šādas pamatidejas var tikt piemērotas jebkurai valodai, es parādīšu Python piemērus. To ir viegli iemācīties, un tā ir lieliska platforma, lai saprastu notiekošo. Papildus tam tutorialspoint.com nodrošina izcilu tiešsaistes Python tulku - jums pat nav jāinstalē Python, ja nevēlaties (ja to darāt, pārbaudiet mūsu ceļvedis virtuālajai videi Uzziniet, kā izmantot Python virtuālo vidiNeatkarīgi no tā, vai esat pieredzējis Python izstrādātājs vai tikai sākat darbu, jebkuram Python projektam ir svarīgi iemācīties iestatīt virtuālo vidi. Lasīt vairāk ).
Datu struktūras
Kas ir datu struktūra? Visvienkāršākajā līmenī datu struktūra ir veids, kā efektīvi uzglabāt datus. Ir viegli sajaukt, jo datu struktūras nav datu tipi. Datu veidi kompilatoram (vai Python gadījumā - tulkam) norāda, kā datus paredzēts izmantot. Datu struktūras norāda operācijas, kuras var veikt, un bieži vien īsteno ī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:
- Saistītais saraksts
- Divkārši saistīts saraksts
- Masīvu saraksts vai dinamiskais masīvs
Pastāv dažādu datu struktūru pārpilnība. Jūs, iespējams, esat dzirdējuši par binārie koki, grafiki, vai hashes. Es šodien apspriedīšu pamatus, bet, iespējams, vēlēsities uzzināt vairāk.
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 jābūt vienādiem - jūs nevarat uzglabāt jauktas virknes un veselus skaitļus. Jūs gandrīz vienmēr jānorāda, cik elementus vēlaties uzglabāt. Mainīgs lielums vai dinamiskie bloki tie pastāv, bet ar vienkārša garuma blokiem sākt ir vienkāršāk.
Python lietas nedaudz sarežģī. Tas jums padara lietas ļoti vienkāršas, taču tas ne vienmēr pieturās pie stingrām datu struktūru definīcijām. Lielākā daļa Python objektu parasti ir saraksti, tāpēc masīva izveidošana faktiski ir vairāk darba. Tālāk ir sniegts sākuma kods:
no masīva importa masīva. cipari = masīvs ('i', [2, 4, 6, 8]) drukāt numurus [0]
Pirmajā rindā tiek importēts masīvs modulis - tas ir nepieciešams darbam ar masīviem. Otrajā rindā tiek izveidots jauns masīvs skaitļi un inicializē to ar vērtībām 2, 4, 6 un 8. Katram elementam tiek piešķirts vesels skaitlis vērtību sauc a atslēga vai indekss. Taustiņi sākas plkst nulle, tātad cipari [0] piekļūs pirmajam elementam (2):
Jums var būt jautājums, kas 'Es' tiek izmantots. Tas ir tipogrāfijas kods kas norāda, ka Python masīvā tiks saglabāti veseli skaitļi. Šāda veida lietas Python parasti nebūtu vajadzīgas (to uzskatītu par “untonisku”). Iemesls tam ir vienkāršs. Masīvi Python ir ļoti plāns iesaiņojums operētājsistēmas pamatā esošajiem C masīviem. Tas nozīmē, ka tie ir ātri un stabili, taču tie ne vienmēr var ievērot Python sintakse.
Šajos masīvos nevar uzglabāt jauktus tipus. Informējiet, ka vēlējāties saglabāt virkni “makeuseof.com”:
cipari = masīvs ('i', [2, 4, 6, "makeuseof.com"])
Tas netiks atļauts un radīs izņēmumu:
Lūk, kā jūs varat izdrukāt visus elementus:
drukāt numurus
Šī metode piekļuvei masīva elementiem darbojas labi, un tā ir lieliski piemērota pareizajam uzdevumam. Tas nav par labu piekļuvei visam masīvam. Programmētāji pēc savas būtības ir slinki, tāpēc es labprāt uzrakstīšu vairāk, labāku kodu, ja tas nozīmē, ka varu atvieglot apkopi un samazināt kopēšanas un ielīmēšanas pūles.
Katra programmēšanas valoda ieviesīs sava veida cilpu, kas ir lieliski piemērota saraksta elementu atkārtošanai (atkārtošanai). Visizplatītākās cilpas ir kamēr un priekš. Python padara lietas vēl vieglāk, nodrošinot iekšā iekšā cilpa:
skaitlim skaitļos: drukas numurs
Ievērojiet, kā jums nevajadzēja piekļūt 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:
i diapazonā (len (cipari)): drukā cipari [i]
Tas tiek darīts 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āmbraukšanu i kā masīva atslēgu. Tas ir gandrīz precīzi kods iekšā iekšā cilpas darbojas. Šis veids nodrošina nedaudz lielāku elastību un ir nedaudz ātrāks (lai gan iekšā iekšā cilpas ir vairāk nekā pietiekami ātras vairums Laikā.)
Saraksti
Tagad, kad jūs zināt, kā masīvi darbojas, apskatīsim sarakstu. Dažreiz tas var būt mulsinoši, jo cilvēki savstarpēji aizvieto atšķirīgu terminoloģiju un sarakstus ir masīvi... tāda veida.
Saraksts ir īpašs masīva tips. Lielākā atšķirība ir tā, ka sarakstos var būt sajaukts tipi (atcerieties, blokos jābūt viena veida elementiem). Saraksti Python ir ļoti viegli:
automašīnas = ['Ford', 'Austin', 'Lancia']
Ievērojiet, kā jums nav jāimportē masīvs modulis?
Šī sintakse deklarē sarakstu, ko sauc par automašīnām. Laukā kvadrātiekavās tiek deklarēts katrs saraksta elements. Katru elementu atdala ar komatu, un, tā kā katrs elements ir virkne, jūs tos norādāt pēdiņās. Python zina, ka tas ir objekts, tāpēc drukāt paziņojums parādīs saraksta saturu:
drukāt automašīnas
Tāpat kā ar masīvu, saraksta elementus var atkārtot, izmantojot cilpas:
automašīnai automašīnās: drukas automašīna
Sarakstu īstais partijas triks ir to jauktais tips. Dodieties tālāk un pievienojiet dažus papildu datus:
automašīnas = ['Ford', 'Austin', 'Lancia', 1, 0,56]
Python tā nav problēma - tas pat neizvirzīja izņēmumu:
Jaunu elementu sarakstam ir viegli pievienot (kaut kas nav iespējams ar masīviem):
automašīnas = ['Ford', 'Austin'] drukāt automašīnas. automašīnas.append ('Lancia') drukāt automašīnas
Divus sarakstus varat arī apvienot vienā:
automašīnas = ['Ford', 'Austin'] drukāt automašīnas. other_cars = ['Lotus', 'Lancia'] cars.extend (other_cars) drukāt automašīnas
Tikpat viegli ir noņemt elementus, izmantojot noņemt sintakse:
automašīnas = ['Ford', 'Austin', 'Lotus', 'Lancia'] drukāt automašīnas. cars.remove ('Ford') drukāt automašīnas
Tas attiecas uz Python sarakstu un bloku pamatiem. Kāpēc neuzskatīt kodēšanas projektu, piemēram, lasīšana un rakstīšana Google izklājlapās Kā lasīt un rakstīt Google izklājlapās ar Python palīdzībuPython var šķist dīvaini un neparasti, tomēr to ir viegli iemācīties un lietot. Šajā rakstā es jums parādīšu, kā lasīt un rakstīt Google izklājlapām, izmantojot Python. Lasīt vairāk , lasot json datus Kā iegūt Python un JavaScript saziņai, izmantojot JSONŠodien es jums parādīšu, kā izmantot JSON, lai nosūtītu datus no JavaScript uz Python. Es apskatīšu, kā iestatīt tīmekļa serveri, kā arī visu nepieciešamo kodu. Lasīt vairāk . Varbūt jūs varētu ievietot savas jaunās prasmes, lai tās varētu izmantot pielāgotas saīsnes pogas Izveidojiet pats savas pielāgotās īsinājumtaustiņas ar ArduinoPazemīgais Arduino var izdarīt ļoti daudz, bet vai jūs zinājāt, ka tas var atdarināt USB tastatūru? Ar šo vienkāršo shēmu jūs varētu apvienot garus īsinājumtaustiņus vienā pielāgotā īsinājumtaustiņā. Lasīt vairāk . Neskatoties uz to, ka tā ir atšķirīga programmēšanas valoda, šie masīva principi joprojām tiek piemēroti.
Vai esat iemācījušies kaut ko jaunu? Vai vēlaties redzēt sarežģītāku saturu? Paziņojiet mums savas domas komentāros zemāk!
Džo ir absolvējis datorzinātnes Linkolna 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 producējot video.