Sissejuhatus Pythoni pinu
Python Stack on üldiselt andmestruktuur, mis töötab põhimõttel „sisse ja välja”. see on abstraktne andmetüüp. Paar sagedast näidet virna struktuurist on kaardipakk. nagu ka oma näites, rakendab Python Stack isegi tarkvaraareenil samu protokollikomplekte. mis tähendab, et kõiki andmesidetoiminguid saab teostada ainult põhimõttel „kõigepealt ära”. konkreetse astme otsas pääseb juurde ainult Python Stacki pinnaelemendile.
Korstna põhinäitajad Pythonis
- Korstna peamine ideoloogia on see, et see töötab põhimõtteliselt kõigepealt.
- Tõuke- ja hüpiktoiminguid kasutatakse elemendi virnast sisestamiseks ja kustutamiseks.
- Mõned peamised korstna näited on teksti parsimine ja avaldise teisendamine.
Stacki saab rakendada kahel viisil
Kolm peamist viisi, kuidas virna rakendada, on järgmised:
- Rakendage virn kollektsiooni abil
- rakendage pinu loendi abil
1. Täitke virn kollektsiooni abil
Kogud on andmetüübid, mida kasutatakse andmekogumite säilitamiseks. Stacki andmestruktuuri saab kasutada pythoni programmeerimisel kollektsioonis, kasutades deeklassi. deki klass töötab põhimõtteliselt LIFO järjekorras. Allpool toodud näide kujutab korstnate toiminguid kogude abil.
Kood:
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')
Väljund:
Selgitus:
- Ülaltoodud programm kasutab virna ettevalmistamiseks kogumisandmete tüüpi. see protsess hõlmab deque klassi importimist kogumiku raamatukokku. Siin kasutatakse kõigi riikide kataloogi väljavõtmiseks importi 'country_list'. Kõik riikide väärtused ekstraheeritakse sõnastiku muutujasse, kuna maaraamatukogu väljavõte on diktvormingus, kus võti on märk tähestikust, mille alla riik langeb, ja väärtus on tegelik riigi nimi.
- Virnastamise funktsionaalsuse saavutamiseks luuakse dekoorobjekt. see on deque tüüpi. iga maaklassi element täidetakse sellesse objekti, kasutades silmuse jaoks. see loob silmuse jaoks virna funktsionaalsuse koos kõigi sisenditega, mis on üles pandud kasvavas järjekorras. Selgitamaks välja, et see andmeelement töötab täpselt nagu pinu.
- Pop-operatsioon rakendatakse. siin hüpitakse virna iga element üles ja prinditakse funktsiooni pop () abil. võisime märgata, et iga hüpik () prindib konsoolis uusima riiginime, mis sel juhul algab tähestikulise märkega “z” ja viimase elementide komplektina tähestikulise märke “a”.
2. Rakendage virn loendi abil
Kogumikuna saab pythoni virna realiseerida ka lihtsa python-loendi abil. täpselt öelda, et mis tahes pütonis deklareeritud nimekiri kipub oma olemuselt toimima virnana. nii et loendis oleva väärtuse lisamine tagastab loendis alati viimase väärtuse. Allpool toodud koodinäidis selgitab virna rakendamist loendi abil,
Kood:
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')
Väljund:
Selgitus:
- Ülaltoodud programm kasutab virna ettevalmistamiseks andmetüüpide loetelu. Selle funktsiooni saavutamiseks kasutatakse siin pythoni andmestruktuuri standardset loendit.
- Nagu ülaltoodud programm, kasutatakse ka kõigi riikide kataloogi väljavõtmiseks importi 'country_list'. Kõik riikide väärtused ekstraheeritakse sõnastiku muutujasse, kuna maaraamatukogu väljavõte on diktvormingus, kus võti on märk tähestikust, mille alla riik langeb, ja väärtus on tegelik riigi nimi.
- Maaklassi iga element täidetakse sellesse objekti silmuse abil. see loopi jaoks loob virnastatud loendi koos kõigi sisenditega, mis on üles pandud kasvavas järjekorras. Selgitamaks välja, et see andmeelement töötab täpselt nagu pinu. Pop-operatsiooni rakendatakse ka siin, kuid erinevalt siinse dekibjekti korral rakendatakse seda toimingut python-nimekirjas.
- Siin hüpitatakse ja prinditakse virnastatud loendi iga element funktsiooni pop () abil. Võiksime märgata, et iga hüpik () prindib konsoolis uusima riiginime, mis antud juhul algab tähestikulise märkega “z”, ja prindib viimase elementide komplektina tähestikulise märke “a”.
Pythonis teostatavad virnaoperatsioonid
Mõned neist on toodud allpool:
1. PUSH-toimingu pseudokood
- Hinnake virna mahtu
- Kui ülevool on saavutatud, teavitage olekut ja väljuge programmist.
- kui virn ei ole üle ujutatud, saab helitugevust suurendada ja elemendi lisada virna ülaossa.
2. POP-toiming Pseudokood
- Hinnake virna mahtu
- Kui ülevool on saavutatud, teavitage olekut ja väljuge programmist.
- kui virn ei voola alla, saab mahtu suurendada ja elemendi lisada virna ülaossa.
Järeldus
Pythoni võime väljendada virna funktsionaalsust mitmel lähenemisel näitab selle ülitõhusa programmeerimiskeele paindlikkust. python väljendab oma liigitatud võimet oma agilityga rahuldada peaaegu kõiki andmestruktuuri vajadusi. see muudab selle keele tarkvaraarendamise areenil eelistatuimate seas.
Soovitatavad artiklid
See on juhend Pythoni korstnasse. Siin arutleme sissejuhatuse üle, kolmel viisil saab virna rakendada, korstna peamised omadused. Lisateavet leiate ka meie muudest soovitatud artiklitest -
- Matplotlib Pythonis
- Pöördnumber Pythonis
- Pythoni koostajad
- Rekursiivne funktsioon Pythonis