Pino Pythonissa Satckin toteutus kahdella eri menetelmällä

Sisällysluettelo:

Anonim

Johdatus stäkkiin Pythonissa

Python Stack on yleensä tietorakenne, joka toimii viimeisen sisään ja ensimmäisen ulos -periaatteella. se on abstrakti tietotyyppi. Muutamia yleisiä esimerkkejä pinorakenteesta on korttipakka. aivan kuten esimerkillään, jopa ohjelmistokentällä Python Stack käyttää samoja protokollia. mikä tarkoittaa, että kaikki dataoperaatiot voidaan suorittaa vain viimeisenä ensin -periaatteena. tietyssä esimerkin kärjessä vain Python-pinon huippuosaelementtiin pääsee.

Pinojen pääominaisuudet Pythonissa

  • Pinoa tärkein ideologia on, että se toimii viimeisenä ensin -periaatteena.
  • Push- ja pop-toimintoja käytetään elementin lisäämiseen ja poistamiseen pinosta.
  • Joitakin keskeisiä esimerkkejä pinosta ovat tekstin jäsentäminen ja lausekkeen muuntaminen.

Pino voidaan toteuttaa kahdella tavalla

Kolme päätapaa, joilla pino voidaan toteuttaa, ovat seuraavat,

  • Toteuta pino kokoelman avulla
  • toteuta pino luettelon avulla

1. Toteuta pino kokoelmalla

Kokoelmat ovat tietotyyppejä, joita käytetään tietokokoelmien tallentamiseen. Pinodatarakennetta voidaan soveltaa python-ohjelmoinnin harjoittamiseen kokoelmassa deque-luokan avulla. dekkilaji toimii periaatteessa LIFO-järjestyksessä. alla oleva esimerkki kuvaa pino-operaatioita kokoelmien avulla.

Koodi:

from country_list import countries_for_language
from collections import deque
# extract all the values of the countries
countries_dict = dict(countries_for_language('en'))
country_values = countries_dict.values()
#Add all the country names to a stack
Country_stack_variable = deque()
for i in country_values:
Country_stack_variable.append(i)
print('Stack variable type :', type(Country_stack_variable), '\n')
print('Stack variable values :', Country_stack_variable, '\n')
while Country_stack_variable:
country_temp = Country_stack_variable.pop()
if country_temp(0) == 'A':
print(country_temp)
if country_temp(0) == 'Z':
print(country_temp)
print('\n Stack variable values after Pop :', Country_stack_variable, '\n')

Tulos:

Selitys:

  • Yllä oleva ohjelma käyttää keräystiedot tyyppiä pinon valmisteluun. tähän prosessiin sisältyy deque-luokan tuominen kokoelmakirjastoon. Täällä 'country_list' -tuontia käytetään kaikkien maiden luettelon vetämiseen. Kaikki maa-arvot uutetaan sanakirjamuuttujaan, koska maakirjaston ote on muotoiltu muotoon, jossa avain on merkintä aakkosista, joihin maa kuuluu, ja arvo on todellinen maan nimi.
  • Pinoamisominaisuuden saavuttamiseksi luodaan deque-objekti. tämä on tyyppiä deque. Jokainen maaluokan elementti täytetään tähän objektiin käyttämällä silmukkaa. tämä silmukalle rakentaa pino-toiminnallisuuden kaikkien sisääntulojen ollessa kasattu nousevassa järjestyksessä. Selvittääkseen, että tämä tietoelementti toimii täsmälleen kuin pino.
  • Ponnahdusoperaatio on käytössä. tässä pinossa jokainen elementti aukeaa ja tulostetaan pop () -toiminnolla. Voimme huomata, että jokainen pop () tulostaa konsolin uusimman maan nimen, joka tässä tapauksessa alkaa aakkosellisella merkinnällä 'z' ja tulostaa aakkosellinen merkinnän 'a' viimeisenä elementtijoukkona.

2. Suorita pino luettelon avulla

Kokoelmana python-pino voidaan toteuttaa myös yksinkertaisen python-luettelon avulla. tarkalleen sanoen, että kaikki pythonissa ilmoitetut luettelot ovat luonteeltaan pino. joten arvon lisääminen luetteloon palauttaa aina viimeisen arvon siinä. Alla oleva koodinäyte selittää pinon toteutuksen luetteloa käyttämällä,

Koodi:

from country_list import countries_for_language
# extract all the values of the countries
countries_dict = dict(countries_for_language('en'))
country_values = countries_dict.values()
#Add all the country names to a stack
Country_stack_variable = () for i in country_values:
Country_stack_variable.append(i)
print('Stack variable type :', type(Country_stack_variable), '\n')
print('Stack variable values :', Country_stack_variable, '\n')
while Country_stack_variable:
country_temp = Country_stack_variable.pop()
if country_temp(0) == 'A':
print(country_temp)
if country_temp(0) == 'Z':
print(country_temp)
print('\n Stack variable values after Pop :', Country_stack_variable, '\n')

Tulos:

Selitys :

  • Yllä oleva ohjelma käyttää pinojen valmisteluun tietotyyppiluetteloa. Tässä toiminnassa saavutetaan python-datarakenteen vakioluettelo.
  • Kuten yllä olevassa ohjelmassa, myös 'country_list' -tuontia käytetään kaikkien maiden luettelon vetämiseen. Kaikki maa-arvot uutetaan sanakirjamuuttujaan, koska maakirjaston ote on muotoiltu muotoon, jossa avain on merkintä aakkosista, joihin maa kuuluu, ja arvo on todellinen maan nimi.
  • Jokainen maaluokan elementti täytetään tähän objektiin silmukan avulla. tämä silmukkarakenteisiin pinottu luettelo, jossa kaikki sisääntulot on kasattu nousevassa järjestyksessä. Selvittääkseen, että tämä tietoelementti toimii täsmälleen kuin pino. Pop-operaatiota sovelletaan myös täällä, mutta toisin kuin deque-objekti tässä, operaatio tapahtuu python-luettelossa.
  • Täällä pinotun luettelon kaikki elementit aukeavat ja tulostetaan pop () -toiminnolla. Voimme huomata, että jokainen pop () tulostaa konsolin uusimman maan nimen, joka tässä tapauksessa alkaa aakkosellisella merkinnällä 'z' ja tulostaa aakkosellinen merkinnän 'a' viimeisenä elementtijoukkona.

Pino-operaatiot suoritetaan Pythonissa

Jotkut niistä on esitetty alla:

1. Pseudokoodi PUSH-toiminnolle

  • Arvioi pinon tilavuus
  • Kun ylivuoto on saavutettu, ilmoita tila ja poistumisohjelma.
  • kun pino ei ole täynnä, äänenvoimakkuutta voidaan lisätä ja elementti voidaan lisätä pinon yläosaan.

2. Pseudokoodi POP-käytölle

  • Arvioi pinon tilavuus
  • Kun ylivuoto on saavutettu, ilmoita tila ja poistumisohjelma.
  • kun pino ei ole alavirtaa, äänenvoimakkuutta voidaan lisätä ja elementti voidaan lisätä pinon yläosaan.

johtopäätös

Pythonin kyky ilmaista pinon toiminnallisuus useilla lähestymistavoilla osoittaa tämän erittäin tehokkaan ohjelmointikielen joustavuuden. python ilmaisee luokitellun kykynsä ketteryydellä sopimaan melkein kaikkiin tietorakenteiden tarpeisiin. tämä tekee kielestä suosituimpia ohjelmistokehitysalueella.

Suositellut artikkelit

Tämä on opas Pythonin pinoon. Tässä keskustellaan johdannosta, kolmella tavalla pino voidaan toteuttaa, pinoa avainominaisuudet. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Matplotlib Pythonissa
  2. Käänteinen numero Pythonissa
  3. Python-kääntäjät
  4. Rekursiivinen toiminto Pythonissa