Kuinka taulukot ja luettelot toimivat Pythonissa

Kuinka taulukot ja luettelot toimivat Pythonissa

Taulukot ja luettelot ovat hyödyllisimpiä tietorakenteita ohjelmoinnissa - vaikka harvat ihmiset todella käyttävät niitä täysimääräisesti. Tänään puhun sinulle perusasiat ja muutamat yksinkertaiset Python -esimerkit.





Edellytykset

Sinun ei tarvitse tietää paljon etukäteen, jotta voit oppia nämä käsitteet. Ohjelmointiparadigmien ja Pythonin perustiedot ovat hyödyllisiä, mutta niitä ei vaadita. Lue meidän Pythonin perusesimerkkejä jos et tiedä mistä aloittaa. Jos luulet, että Python on hyödytön kieli, tutustu syihimme, miksi se ei ole.





Vaikka seuraavia perusideoita voidaan soveltaa mille tahansa kielelle, esittelen esimerkkejä Pythonissa. Se on helppo kieli oppia ja tarjoaa erinomaisen alustan ymmärtää, mitä tapahtuu. Tämän lisäksi, tutorialspoint.com tarjoaa erinomaisen online -Python -tulkin - sinun ei tarvitse edes asentaa Pythonia, jos et halua (jos haluat, tutustu virtuaalisten ympäristöjen oppaaseemme).





Tietorakenteet

Mikä on a tietorakenne ? Perus tasolla tietorakenne on tapa tallentaa tiedot tehokkaasti. Se on helppo sekoittaa, koska tietorakenteet eivät ole tietotyypit . Tietotyypit kertovat kääntäjälle (tai Pythonin tapauksessa tulkille), miten tietoja on tarkoitus käyttää. Tietorakenteet määrittävät suoritettavia toimintoja ja toteuttavat usein erityisiä sääntöjä ja määräyksiä.

Olet ehkä kuullut joistakin lineaarinen tietotyypit (elementit ovat peräkkäisiä):



  • Array
  • Matriisi
  • Hakutaulukkoon

Samoin, luetteloita sisältävät usein sääntöjä ja menetelmiä niiden toiminnan säätämiseksi. Joitakin yleisiä luetteloita ovat:

  • Linkitetty luettelo
  • Kaksinkertaisesti linkitetty luettelo
  • Array List tai Dynamic Array

Erilaisia ​​tietorakenteita on lukuisia. Olet ehkä kuullut binaaripuita , kaaviot tai hajautukset . Keskustelen tänään perusasioista, mutta saatat haluta oppia lisää, kun olet mukava.





Array

Aloitetaan alusta. Taulukko on yksinkertainen (liittyvien) arvojen kokoelma. Näitä arvoja kutsutaan elementeiksi. Ne voivat yleensä olla mitä tahansa tietotyyppiä, mukaan lukien objektit tai muut luettelot! Matriisien päävaroitus on, että kaikkien tietojen on oltava samat - et voi tallentaa merkkijonoja ja kokonaislukuja. Sinä lähes aina määritettävä, kuinka monta elementtiä haluat tallentaa. Muuttuva koko tai dynaamisia matriiseja olemassa, mutta kiinteän pituiset taulukot ovat yksinkertaisempia aloittaa.

Python monimutkaistaa asioita hieman. Se tekee asioista erittäin helppoa, mutta se ei aina pidä kiinni tietorakenteiden tiukoista määritelmistä. Useimmat Pythonin objektit ovat yleensä luetteloita, joten taulukon luominen on itse asiassa enemmän työtä. Tässä muutama aloituskoodi:





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

Ensimmäinen rivi tuo matriisi moduuli - sitä tarvitaan, jos haluat käyttää matriiseja. Toinen rivi luo uuden taulukon nimeltä numeroita ja alustaa sen arvoilla 2, 4, 6 ja 8. Jokaiselle elementille annetaan an kokonaisluku arvoa nimeltä a näppäintä tai indeksi . Avaimet alkavat klo nolla , niin numerot [0] pääsee ensimmäiseen elementtiin ( 2 ):

Saatat ihmetellä mitä 'minä' käytetään. Tämä on tyyppikoodi joka kertoo Pythonille, että taulukko tallentaa kokonaislukuja. Tällaista asiaa ei normaalisti tarvittaisiin Pythonissa (sitä pidettäisiin 'epätyypillisenä'). Syy tähän on yksinkertainen. Pythonissa olevat taulukot ovat erittäin ohut kääre käyttöjärjestelmäsi taustalla olevissa C -matriiseissa. Tämä tarkoittaa, että ne ovat nopeita ja vakaita, mutta ne eivät välttämättä aina noudata Python -syntaksia.

musta näyttö käynnistettäessä Windows 10

Et voi tallentaa sekalaisia ​​tyyppejä näihin matriiseihin. Oletetaan, että halusit tallentaa merkkijonon 'makeuseof.com':

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

Tämä ei ole sallittua ja tekee poikkeuksen:

Voit tulostaa kaikki elementit seuraavasti:

print(numbers)

Tämä menetelmä matriisielementtien käyttämiseksi toimii hyvin, ja se on täydellinen oikeaan tehtävään. Se, mikä ei ole hyvä, on pääsy koko joukkoon. Ohjelmoijat ovat luonnostaan ​​laiskoja, joten kirjoitan mielelläni enemmän, parempaa koodia, jos se tarkoittaa, että voin helpottaa ylläpitoa ja vähentää kopiointi- ja liittämistoimia.

Jokainen ohjelmointikieli toteuttaa jonkinlaisen silmukan, joka on täydellinen luetteloelementtien toistamiseen (silmukointiin). Yleisimmät silmukat ovat sillä aikaa ja varten . Python tekee asioista entistä helpompaa tarjoamalla sisään silmukka:

for number in numbers:
print(number)

Huomaa, kuinka sinun ei tarvinnut käyttää elementtejä niiden avaimella. Tämä on paljon parempi tapa työskennellä matriisin kanssa. Vaihtoehtoinen tapa toistaa luettelo on a varten silmukka:

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

Tämä toimii täsmälleen samalla tavalla kuin edellinen esimerkki, vaikka joudut määrittämään taulukon elementtien määrän ( len (autot) ), ohituksen kanssa i taulukon avaimena. Tämä on melkein täsmälleen se koodi sisään silmukat kulkevat. Tämä tarjoaa hieman enemmän joustavuutta ja on hieman nopeampi (vaikka sisään silmukat ovat enemmän kuin tarpeeksi nopeita suurin osa ajasta.)

Luettelot

Nyt kun tiedät kuinka taulukot toimivat, katsotaanpa luetteloa. Se voi joskus olla hämmentävää, koska ihmiset käyttävät eri terminologiaa keskenään ja luetteloita ovat matriisit ... eräänlainen.

Luettelo on erityinen taulukkotyyppi. Suurin ero on se, että luettelot voivat sisältää sekoitettu tyypit (muista, että matriisien on sisällettävä samantyyppisiä elementtejä). Luettelot ovat erittäin helppoja Pythonissa:

pelata paikallisia yhteistyöpelejä verkossa
cars = ['Ford', 'Austin', 'Lancia']

Huomaa, miten sinun ei tarvitse tuoda tiedostoa matriisi moduuli?

Tämä syntaksi julistaa luettelon nimeltä autot. Hakasulkeiden sisällä luettelon jokainen elementti ilmoitetaan. Jokainen elementti on erotettu pilkulla, ja koska jokainen elementti on merkkijono, ilmoitat ne lainausmerkeissä. Python tietää, että tämä on objekti, joten Tulosta lause tulostaa luettelon sisällön:

print(cars)

Aivan kuten taulukon kanssa, voit iteroida luetteloelementtejä silmukoiden avulla:

for car in cars:
print(car)

Luetteloiden todellinen puolue temppu on niiden sekatyyppi. Jatka ja lisää lisätietoa:

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

Tämä ei ole ongelma Pythonille - se ei edes nostanut poikkeusta:

Uusien elementtien lisääminen luetteloon on helppoa (mikä ei ole mahdollista matriisien kanssa):

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

Voit myös yhdistää kaksi luetteloa yhdeksi:

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

Elementtien poistaminen on yhtä helppoa Poista syntaksi:

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

Tämä koskee Pythonin luetteloiden ja matriisien perusasioita. Miksi et harkitse koodausprojektia, kuten lukemista ja kirjoittamista Google Sheetsiin, json -tietojen lukemista. Ehkä voisit käyttää uusia taitojasi hyödyntämään niitä mukautetut pikanäppäimet . Huolimatta eri ohjelmointikielestä, nämä taulukon periaatteet pätevät edelleen.

Jaa Jaa Tweet Sähköposti 5 vinkkiä VirtualBox Linux -koneiden lataamiseen

Oletko kyllästynyt virtuaalikoneiden heikkoon suorituskykyyn? Tässä on, mitä sinun pitäisi tehdä parantaaksesi VirtualBox -suorituskykyäsi.

Lue seuraava
Liittyvät aiheet
  • Ohjelmointi
  • Ohjelmointi
  • Python
Kirjailijasta Joe Coburn(136 artikkelia julkaistu)

Joe on valmistunut tietojenkäsittelytieteestä Lincolnin yliopistosta Iso -Britanniasta. Hän on ammattimainen ohjelmistokehittäjä, ja kun hän ei lentä droneilla tai kirjoita musiikkia, hänet voidaan usein ottaa valokuvista tai videoista.

Lisää Joe Coburnilta

tilaa uutiskirjeemme

Liity uutiskirjeeseemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e -kirjoja ja ainutlaatuisia tarjouksia!

Klikkaa tästä tilataksesi