Tietorakenne on kokoelma tietotyyppejä, niiden välistä suhdetta ja toimintoja tai toimintoja, joita voidaan soveltaa tietoihin. Tietotyyppi voi olla merkkijono, Kokonaisluku, Kelluva arvo ja niin edelleen.
Ennen kuin ymmärrämme sisäänrakennetun tietorakenteen toiminnallisuuden, katsotaan muutamia sisäänrakennettuja toimintoja, joita käytetään tietorakenneobjekteissa.
Nyt kun olet nähnyt muutamia tärkeitä yksityiskohtia, jatketaan python -tietorakenteiden kanssa.
Python mukana sisäänrakennettu Tietorakenteet sekä käyttäjät voivat määritellä omat tietorakenteensa. Sisäänrakennettu tietorakenne sisältää LISTA, SANAKIRJA, TUPLEja ASETA. Jotkut esimerkit käyttäjän määrittämistä tietorakenteista ovat PINO, Jonot, PUU, HASHMAP, jne…
Muilta ohjelmointikieliltä tulevat ihmiset tuntevat hyvin taulukkotyypin. Mutta pythonissa ne eivät ole niin yleisiä.
Tässä luettelo on eräänlainen samanlainen kuin taulukko, mutta luettelon avulla voimme tallentaa minkä tahansa tietotyypin (heterogeeninen) arvot, kun taas taulukko sisältää vain tietyn tyyppisiä tietoja (int, float jne.). Jos haluat käyttää taulukkoa, sinun on tuotava matriisi "array" -moduulista nimenomaisesti.
Tässä Python -artikkelisarjassa tarkastelemme, mikä on a tietorakenne ja sisäänrakennettu python-tietorakenne.
Lista on tietorakenne, joka on kokoelma erilaisia tietotyyppejä. Mikä tekee "eri tietotyyppien kokoelma"Tarkoittaa? Lista voi tallentaa merkkijonoja, kokonaislukuja, liukulukuarvoja, sisäkkäisiä luetteloita ja niin edelleen.
Lista esineet ovat "Vaihteleva”Eli luetteloon luodut kohteet voidaan käyttää, muokata tai poistaa. Luettelotukien indeksointi. Jokainen luetteloiden kohde on osoitettu osoitteeseen, ja sitä voidaan käyttää tietyn kohteen arvon tarkastamiseen tai muokkaamiseen.
Luettelo voidaan luoda hakasulkeilla.
>>> name_empty = [] # Tyhjä luettelo. >>> name = ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] # luettelo merkkijonotyypillä. >>> name_int = [1,2,3] # luettelo, jossa on kokonaislukutietotyyppi. >>> name_mixed = [name_int, name, 1,2,3,14] # luettelo, jossa on sisäkkäisiä luettelokohteita. >>> nimi_sekoitettu. [[1, 2, 3], ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'], 1, 2, 3.14] >>> nimi_int. [1, 2, 3]
Voimme käyttää sisäänrakennettua tyyppi()
-toiminnon avulla voit tarkistaa objektityypin.
>>> tyyppi (nimi)
Voimme käyttää menetelmiä ja määritteet ja lista esimerkkiä käyttäen dir ()
toiminto.
>>> dir (nimi) ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__get __gt__ ',' __hash__ ', '__iadd__', '__imul__', '__init__', '__init_subclass__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__ce' ',' __repr__ ', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'clear', 'copy', 'count', 'ext', 'index ',' insert ',' pop ',' remove ', "kääntää", "lajitella"]
Voimme selvittää luettelon kohteiden kokonaismäärän käyttämällä len ()
menetelmä.
>>> len (nimi)
Voimme luoda uuden luettelon olemassa olevasta luettelosta käyttämällä list.copy ()
menetelmä.
>>> name_new = name.copy () >>> nimi_uusi. ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will']
Voimme lisätä kohteen luetteloon missä tahansa paikassa käyttämällä list.insert (i, x)
menetelmä.
>>> nimi = ['Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> nimi. ['Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> name.insert (0, 'Tom') # Insert -menetelmässä on 2 argumenttia (hakemiston sijainti, kohde) >>> nimi. ['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] # Tom lisätään 0. kohtaan.
Voimme käyttää list.append (x)
tapa lisätä yksi kohde luetteloon. Tämä lisää kohteen luettelon loppuun.
>>> nimi = [] >>> len (nimi) 0. >>> name.append ('Leo') >>> name.append ('Matt') >>> name.append ('Kane') >>> tulosta (nimi) ['Leo', 'Matt', 'Kane']
Voimme käyttää list.extend ()
tapa lisätä useita kohteita luetteloon.
>>> new_name = ['Gowtham', 'Martin', 'Luis'] >>> nimi.extend (uusi_nimi) >>> nimi. ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', 'Luis']
Voimme myös käyttää '+'
operaattori yhdistää kaksi luetteloa. Molemmat luettelot voivat olla eri tyyppisiä.
>>> a = [1,2,3] >>> b = [2,3,3] >>> c = a + b. >>> c. [1, 2, 3, 2, 3, 3] >>> d = ['karthi', 'kenny'] >>> e = a + d. >>> e. [1, 2, 3, 'karthi', 'kenny']
Kuten jo todettiin, objektit ovat muuttuvia. Luettelokohdetta voidaan muokata viittaamalla hakemistopaikkaan ja määrittämällä sille arvo.
>>> nimi # Ennen muokkaamista. ['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> name [0] = 'Karthi' >>> nimi # Muutoksen jälkeen. ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will']
lista tukee sekä positiivista että negatiivista indeksointia.
Indeksointi alkaa 0 ja negatiivinen indeksointi alkaa -1.
Voimme päästä luettelokohteeseen käyttämällä niiden hakemistopaikkaa.
>>> nimi [0] # Luettelokohteen käyttäminen indeksissä 0. 'Leo' >>> nimi [1] 'Matta' >>> nimi [4] 'Petter' >>> nimi [5] 'Tahtoa' >>> nimi [-1] # Luettelokohdan käyttäminen negatiivisella indeksoinnilla. 'Tahtoa' >>> nimi [-6] 'Leo'
Voimme myös käyttää viipalointia päästäksesi luettelon kohteisiin. Viipaloinnin avulla voimme käyttää useita kohteita määrittämällä alku-, loppu-, vaiheparametrit.
# SYNTAKSI: lista [aloituskohta, loppupaikka, vaihe] >>> nimi [0: 3] ['Tom', 'Leo', 'Matt'] >>> nimi [:] ['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> nimi [: 4] ['Tom', 'Leo', 'Matt', 'Kane'] >>> nimi [:-2] ['Tom', 'Leo', 'Matt', 'Kane', 'Scott'] >>> nimi [:-1] ['Tom', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter'] >>> nimi [:-1: 2] ['Tom', 'Matt', 'Scott']
Voimme löytää tietyn arvon esiintymien määrän käyttämällä list.count (x)
menetelmä.
>>> name_int = [1,1,2,3,1] >>> name_int.count (1) 3.
Voimme löytää tietyn kohteen indeksin sijainnin käyttämällä list.index (x [, alku [, loppu]])
menetelmä.
>>> nimi # Lisätty "tahto" luettelon loppuun. Nyt meillä on kaksi nimeä "Will". ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will'] >>> name.index ('Will) # Palauttaa x: n ensimmäisen esiintymän hakemistopaikan. 0. >>> name.index ('Will', 2) # Starting index positon'2 'on annettu. 7. >>> name.index ('Will', 2,4) # Alku- ja loppuindeksin sijainti on annettu. Koska "tahtoa" ei esiinny annetussa hakupaikassa, se aiheuttaa arvovirheen. Jäljitys (viimeisin puhelu viimeksi): Tiedosto "", rivi 1, ValueError:" Will "ei ole luettelossa.
Voimme käyttää list.reverse ()
menetelmä luettelon kohteiden kääntämiseksi.
>>> nimi. ['Karthi', 'Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> name.reverse () >>> nimi. ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi']
Voimme käyttää list.pop (x)
tapa poistaa kohde luettelosta osoitteessa x
asema. Tämä toiminto poistaa kohteen luettelosta ja näyttää poistetun kohteen. Jos x
silloin ei ole määritelty pop()
menetelmä palauttaa luettelon viimeisen kohteen.
>>> nimi. ['Will', 'Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', 'Luis'] >>> name.pop (0) 'Tahtoa' >>> nimi. ['Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin', 'Luis'] >>> name.pop () 'Luis'
Voimme myös käyttää list.remove (x)
tapa poistaa kohde luettelosta. Tässä x
ottaa kohteen arvon ja heittää ValueError jos x
ei ole luettelossa.
>>> nimi = ['Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> name.remove ('Leo') >>> nimi. ['Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> name.remove ('Leo') Jäljitys (viimeisin puhelu viimeksi): Tiedosto "", rivi 1, ValueError: list.remove (x): x ei luettelossa.
Voimme tehdä listan tyhjäksi joko määrittämällä listan nimen hakasulkeisiin tai käyttämällä list.clear ()
menetelmä.
>>> nimi1 = nimi.kopio () >>> nimi 1. ['Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin'] >>> nimi. ['Petter', 'Scott', 'Kane', 'Matt', 'Leo', 'Karthi', 'Will', 'Gowtham', 'Martin'] >>> nimi = [] >>> nimi. [] >>> name1.clear () >>> name1. []
Sen sijaan, että käytämme luettelomenetelmiä luettelon tyhjentämiseen tai kohteen poistamiseen luettelosta, voimme käyttää sisäänrakennettua avainsanaa del
suorittamaan nämä toimet. "Del" avainsana voi poistaa luettelobjektin muistista tai poistaa kohteen luettelosta tai poistaa kohteen osasta.
>>> nimi = ['Leo', 'Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> del nimi [0] >>> nimi. ['Matt', 'Kane', 'Scott', 'Petter', 'Will'] >>> del nimi [-3:] >>> nimi. ['Matt', 'Kane'] >>> del nimi [:] >>> nimi. []
Sisäänrakennettu tunnus ()
toiminto palauttaa "identiteetti”Esineestä. Tämä on kokonaisluku, joka on taatusti ainutlaatuinen ja vakio tälle kohteelle sen elinkaaren aikana.
>>> tunnus (nimi) 139979929658824. >>> nimi. >>> tunnus (nimi) Jäljitys (viimeisin puhelu viimeksi): Tiedosto "", rivi 1, NameError: name 'name' ei ole määritelty.
Merkintä: olemme poistaneet luettelomuuttujan muistista käyttämällä del ()
, siksi se aiheuttaa nimivirheen.
help () toiminto:
Sisäänrakennettu apu toiminto ()
on erittäin hyödyllistä saada tietoja tietystä objektista tai sen menetelmistä.
ohje (esine) ohje (object.method)
Toistaiseksi tässä artikkelissa olemme nähneet, kuinka voimme käyttää a luettelon tietorakenne tallentaa, käyttää, muokata, poistaa luettelo -objekteja käyttämällä luettelomenetelmiä. Olemme myös nähneet joitakin sisäänrakennettuja toimintoja, kuten tunnus (), dir (), tyyppi(), auta() jotka ovat erittäin tehokkaita toimintoja. Meillä on myös luettelon ymmärtäminen pythonissa, joka tarjoaa tiiviimmän ja luettavamman tavan luoda luettelo.