Reklaam

Massiivid ja loendid on programmeerimisel kõige kasulikumad andmestruktuurid - ehkki vähesed inimesed kasutavad neid tõesti täies mahus. Täna räägin ma teile põhitõdedest koos mõne lihtsa Pythoni näitega.

Eeltingimused

Nende mõistete õppimiseks pole vaja palju ette teada. Abiks on põhiteadmised programmeerimisparadigmade ja Pythoni programmeerimisest, kuid see pole vajalik. Loe meie põhilised Pythoni näited 10 peamist Pythoni näidet, mis aitavad teil kiiresti õppidaSee artikkel Pythoni põhinäidetest on mõeldud neile, kellel on juba programmeerimiskogemus ja kes soovivad lihtsalt võimalikult kiiresti Pythonile üle minna. Loe rohkem kui te ei tea, kust alustada. Kui arvate, et Python on mõttetu keel, tutvuge meiega põhjused, miks see pole nii 5 põhjust, miks Pythoni programmeerimine pole mõttetuPython - sa kas armastad seda või vihkad seda. Võiksite isegi pendelda ühest otsast teise. Sõltumata sellest on Python keel, mille suhtes on raske olla ambivalentne. Loe rohkem .

Kuigi järgmisi põhimõttelisi ideid saab rakendada mis tahes keeles, näitan näiteid Pythonis. Keelt on lihtne õppida ja see pakub suurepärase platvormi toimuva mõistmiseks. Lisaks sellele,

instagram viewer
tutorialspoint.com pakub suurepärast veebipõhist Pythoni tõlki - te ei pea isegi Pythoni installima, kui te seda ei soovi (kui te seda teete, siis vaadake meie juhend virtuaalsete keskkondade jaoks Siit saate teada, kuidas kasutada Pythoni virtuaalset keskkondaÜkskõik, kas olete kogenud Pythoni arendaja või alles alustate, on virtuaalse keskkonna seadistamise õppimine iga Pythoni projekti jaoks hädavajalik. Loe rohkem ).

Andmestruktuurid

Mis on a andmestruktuur? Kõige elementaarsemal tasemel on andmestruktuur viis andmete tõhusaks säilitamiseks. Segadusesse on lihtne, kuna andmestruktuurid pole andmetüübid. Andmetüübid ütlevad koostajale (või Pythoni puhul tõlgile), kuidas andmeid kavatsetakse kasutada. Andmestruktuurid määravad toimingud, mida saab teostada, ja rakendavad sageli konkreetseid reegleid ja määrusi.

Võib-olla olete neist juba mõndagi kuulnud lineaarne andmetüübid (elemendid on järjestikused):

  • Massiiv
  • Maatriks
  • Otsingulaud

Samamoodi nimekirjad sisaldavad sageli reegleid ja meetodeid, kuidas reguleerida nende toimimist. Mõned levinumad loendid on järgmised:

  • Lingitud nimekiri
  • Kahekordselt lingitud nimekiri
  • Massiiviloend või dünaamiline massiiv

Erinevaid andmestruktuure on arvukalt. Võib-olla olete kuulnud binaarsed puud, graafikudvõi räsi. Arutlen täna põhitõdesid, kuid kui soovite, võiksite rohkem teada saada.

Massiiv

Alustame algusest. Massiiv on lihtne (seotud) väärtuste kogum. Neid väärtusi nimetatakse elementideks. Need võivad tavaliselt olla mis tahes andmetüübid, mis teile meeldivad, sealhulgas objektid või muud loendid! Massiividega seotud peamine hoiatus on see, et kõik andmed peavad olema ühesugused - sega stringe ja täisarvu ei saa salvestada. Sina peaaegu alati tuleb täpsustada, mitu elementi soovite salvestada. Muutuv suurus või dünaamilised massiivid on olemas, kuid kindla pikkusega massiive on lihtsam alustada.

Python raskendab asju mõnevõrra. See teeb teie jaoks asjad väga lihtsaks, kuid see ei pea alati kinni andmestruktuuride rangetest määratlustest. Enamik Pythoni objekte on tavaliselt loendid, seega on massiivi loomine tegelikult rohkem tööd. Siin on mõni alguskood:

massiivi impordimassiivist. numbrid = massiiv ('i', [2, 4, 6, 8]) trükiarvud [0]

Esimene rida impordib massiiv moodul - see on vajalik massiividega töötamiseks. Teine rida loob uue massiivi nimega numbrid ja lähtestab selle väärtustega 2, 4, 6 ja 8. Igale elemendile omistatakse täisarv väärtus, mida nimetatakse a võti või indeks. Võtmed algavad kell null, nii numbrid [0] pääseb esimesele elemendile (2):

Pythoni massiivid

Teil võib tekkida küsimus, mis 'Mina' kasutatakse. See on tüpikood mis ütleb Pythoni jaoks, et massiiv salvestab täisarvu. Seda tüüpi asju pole Pythonis tavaliselt vaja (seda peetakse ebapütooniliseks). Selle põhjus on lihtne. Massiivid Pythonis on teie operatsioonisüsteemi aluseks olevate C-massiivide väga õhuke ümbris. See tähendab, et nad on kiired ja stabiilsed, kuid nad ei pruugi alati Pytoni süntaksist kinni pidada.

Nendes massiivides ei saa segatüüpe salvestada. Oletagem, et soovite salvestada stringi „makeuseof.com”:

numbrid = massiiv ('i', [2, 4, 6, "makeuseof.com"])

Seda ei lubata ja sellest tehakse erand:

Pythoni massiivid

Kõigi elementide printimiseks toimige järgmiselt.

printige numbrid
Pythoni massiivid

See massiivi elementide juurde pääsemise meetod töötab hästi ja sobib ideaalselt õige ülesande jaoks. See ei ole hea juurdepääsu saamiseks kogu massiivile. Programmeerijad on oma olemuselt laisad, nii et kirjutan rõõmsalt rohkem, paremat koodi, kui see tähendab, et saan hooldust lihtsustada ja vähendada kopeerimise ja kleepimise vaeva.

Iga programmeerimiskeel rakendab mingisugust silmust, mis sobib ideaalselt loendielementide iteratsiooniks (silmuseks). Kõige tavalisemad silmused on samas ja jaoks. Python muudab asjad veelgi lihtsamaks, pakkudes eest sisse silmus:

arvu jaoks numbrites: trükiarv

Pange tähele, kuidas te ei pidanud elementide juurde pääsema nende võtme abil. See on massiiviga töötamiseks palju parem viis. Alternatiivne loendi iteratsiooni viis on a jaoks silmus:

i jaoks vahemikus (len (numbrid)): printige numbrid [i]

See teeb täpselt samamoodi nagu eelmine näide, ehkki olete pidanud massiivi elementide arvu täpsustama (len (autod)) koos möödasõiduga i massiivi võtmena. See on peaaegu täpselt kood eest sisse silmused jooksevad. See viis pakub veidi suuremat paindlikkust ja on pisut kiirem (kuigi eest sisse silmused on enam kui piisavalt kiired enamus ajast.)

Nimekirjad

Nüüd, kui teate, kuidas massiivid töötavad, vaatame lähemalt loetelu. Mõnikord võib see olla segane, kuna inimesed kasutavad erinevat terminoloogiat ja loendeid on massiivid... omamoodi.

Loend on massiivi eriliik. Suurim erinevus on see, et nimekirjad võivad sisaldada segatud tüübid (pidage meeles, et massiivid peavad sisaldama sama tüüpi elemente). Loendid on Pythonis väga lihtsad:

autod = ['Ford', 'Austin', 'Lancia']

Pange tähele, kuidas te ei pea seda importima massiiv moodul?

See süntaks kuulutab nimega autod. Nurksulgudes deklareeritakse loetelu kõik elemendid. Iga element eraldatakse komaga ja kuna iga element on string, kuulutate need jutumärkidesse. Python teab, et see on objekt, seega printida avaldus väljastab loendi sisu:

prindiautod
Pythoni massiivid

Nagu massiivi puhul, saate ka loendielemente korrata silmuste abil:

autode jaoks autodes: trükiauto
Pythoni massiivid

Nimekirjade tõeline peotrikk on nende segatud tüüp. Minge edasi ja lisage mõned lisaandmed:

autod = ['Ford', 'Austin', 'Lancia', 1, 0,56]

See pole Pythoni jaoks probleem - see ei toonud isegi erandit:

Pythoni massiivid

Uute elementide lisamine loendisse on lihtne (massiividega pole see võimalik):

autod = ['Ford', 'Austin'] prindiautod. autod.append ('Lancia') prindiautod
Pythoni massiivid

Samuti saate kaks loendit üheks ühendada:

autod = ['Ford', 'Austin'] prindiautod. other_cars = ['Lotus', 'Lancia'] autod.extend (muud_autod) prindiautod
Pythoni massiivid

Sama lihtne on elementide eemaldamine, kasutades nuppu eemalda süntaks:

autod = ['Ford', 'Austin', 'Lotus', 'Lancia'] prindiautod. cars.remove ('Ford') prindiautod
Pythoni massiivid

See hõlmab Pythoni loendite ja massiivide põhitõdesid. Miks mitte kaaluda kodeerimisprojekti, näiteks lugemine ja Google'i arvutustabelitesse kirjutamine Kuidas lugeda ja kirjutada Google'i arvutustabelitesse Pythoni abilPython võib tunduda kummaline ja ebatavaline, kuid seda on lihtne õppida ja kasutada. Selles artiklis näitan teile, kuidas Pythonit kasutades Google'i arvutustabeleid lugeda ja neile kirjutada. Loe rohkem , jsoni andmete lugemine Kuidas saada Pythoni ja JavaScripti suhtlemiseks JSON-i abilTäna näitan teile, kuidas kasutada JSON-i andmete saatmiseks JavaScripti kaudu Pythoni. Vaatan veebiserveri seadistamise ja kogu vajaliku koodi. Loe rohkem . Võib-olla võiksite oma uued oskused mõne tegemise kasutamiseks panna kohandatud otsetee nupud Tehke oma kohandatud otsetee nupud Arduino abilAlandlik Arduino saab teha palju asju, kuid kas teadsite, et see võib jäljendada USB-klaviatuuri? Selle lihtsa vooluringi abil saaksite pikad kiirklahvid ühendada üheks kohandatud otseteeklahviks. Loe rohkem . Vaatamata sellele, et tegemist on erineva programmeerimiskeelega, kehtivad need massiivi põhimõtted endiselt.

Kas olete midagi uut õppinud? Kas soovite näha mõnda keerulisemat sisu? Andke meile oma mõtetest kommentaarides allpool!

Joe on lõpetanud Ühendkuningriigi Lincolni ülikooli arvutiteaduse. Ta on professionaalne tarkvaraarendaja ja kui ta ei lenda droonidega ega kirjuta muusikat, võib teda sageli leida pildistamas või videot tootmas.