Introductie van Stack in Python
Python Stack is over het algemeen een datastructuur die werkt op het principe 'last in en first out'. het is een abstract gegevenstype. Een paar veel voorkomende voorbeelden van stapelstructuren is een stapel kaarten. net als zijn voorbeeld past Python Stack zelfs in de softwarearena dezelfde set protocollen toe. wat betekent dat alle gegevensbewerkingen alleen kunnen worden uitgevoerd op het principe 'last in first out'. op een specifiek punt is bijvoorbeeld alleen het topelement van de Python Stack toegankelijk.
Belangrijkste kenmerken van de stapel in Python
- De belangrijkste ideologie van stack is dat het werkt op het principe 'first in first out'.
- De push- en pop-bewerkingen worden gebruikt voor het invoegen en verwijderen van een element uit een stapel.
- Enkele belangrijke voorbeelden van de stapel zijn het parseren van tekst en het omzetten van expressie.
Stack kan op twee manieren worden geïmplementeerd
De drie belangrijkste manieren waarop een stapel kan worden geïmplementeerd, zijn de volgende,
- Implementeer een stapel met een verzameling
- een stapel implementeren met behulp van een lijst
1. Implementeer stapel met behulp van verzameling
Collecties zijn gegevenstypen die worden gebruikt om gegevensverzamelingen op te slaan. De stapel datastructuur kan worden toegepast om te oefenen in python programmeren in een verzameling met behulp van de deque-klasse. de deque-klasse werkt in principe in de LIFO-volgorde. het onderstaande voorbeeld toont de stapelbewerkingen met verzamelingen.
Code:
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')
Uitgang:
Uitleg:
- Het bovenstaande programma gebruikt een verzameling gegevenstype voor het voorbereiden van de stapel. dit proces omvat het importeren van de deque-klasse in de collectiebibliotheek. Hier wordt de import 'country_list' gebruikt om de catalogus van alle landen te verwijderen. Alle landwaarden worden geëxtraheerd in een woordenboekvariabele omdat het landbibliotheekuittreksel een dict-formaat heeft waarbij de sleutel een notatie is van het alfabet waaronder het land valt en de waarde de werkelijke landnaam is.
- Voor het bereiken van de stapelfunctionaliteit wordt een deque-object gemaakt. dit is van het type deque. elk element in de landklasse wordt in dit object ingevuld met behulp van een voor een lus. this for loop construeert de stapelfunctionaliteit met alle ingangen in oplopende volgorde opgestapeld. Om te verduidelijken dat dit data-element precies werkt als een stapel.
- De pop-bewerking wordt toegepast. hier wordt elk element in de stapel geknald en afgedrukt met de functie pop (). we konden opmerken dat elke pop () de nieuwste landnaam in de console afdrukt, die in dit geval begint met de alfabetische notatie 'z' en de alfabetische notatie 'a' afdrukt als de laatste set elementen.
2. Implementeer stapel met behulp van Lijst
Als een verzameling kan de python-stapel ook worden geïmplementeerd door middel van een eenvoudige python-lijst. om precies te zeggen dat elke in python gedeclareerde lijst de neiging heeft van nature als een stapel te fungeren. dus als u een waarde in een lijst opgeeft, wordt altijd de laatste waarde weergegeven. In het onderstaande codevoorbeeld wordt de implementatie van een stapel uitgelegd aan de hand van een lijst,
Code:
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')
Uitgang:
Uitleg :
- Het bovenstaande programma gebruikt een lijst met gegevenstypen voor het voorbereiden van de stapel. Hier wordt een standaardlijst in de python-datastructuur gebruikt om deze functionaliteit te bereiken.
- Net als het bovenstaande programma wordt hier ook de import van 'country_list' gebruikt om de catalogus van alle landen te verwijderen. Alle landwaarden worden geëxtraheerd in een woordenboekvariabele omdat het landbibliotheekuittreksel een dict-formaat heeft waarbij de sleutel een notatie is van het alfabet waaronder het land valt en de waarde de werkelijke landnaam is.
- Elk element in de landklasse wordt in dit object ingevuld met behulp van een lus. this for loop construeert de gestapelde lijst met alle ingangen in oplopende volgorde opgestapeld. Om te verduidelijken dat dit data-element precies werkt als een stapel. De pop-bewerking wordt hier ook toegepast, maar in tegenstelling tot een deque-object hier, wordt de bewerking toegepast op een pythonlijst.
- Hier wordt elk element in de gestapelde lijst weergegeven en afgedrukt met de functie pop (). We konden opmerken dat elke pop () de nieuwste landnaam in de console afdrukt, die in dit geval begint met de alfabetische notatie 'z' en de alfabetische notatie 'a' afdrukt als de laatste set elementen.
Stapelbewerkingen uitgevoerd in Python
Sommigen van hen worden hieronder gegeven:
1. Pseudocode voor PUSH-werking
- Evalueer het volume van de stapel
- Wanneer de overloop is bereikt, meldt u de status en sluit u het programma.
- wanneer een stapel niet overloopt, kan het volume worden verhoogd en kan het element aan de bovenkant van de stapel worden toegevoegd.
2. Pseudocode voor POP-bewerking
- Evalueer het volume van de stapel
- Wanneer de overloop is bereikt, meldt u de status en sluit u het programma.
- wanneer een stapel niet onder stroomt, kan het volume worden verhoogd en kan het element aan de bovenkant van de stapel worden toegevoegd.
Conclusie
Het vermogen van Python om de stapelfunctionaliteit op meerdere benaderingen tot uitdrukking te brengen, vertoont de flexibiliteit van deze superefficiënte programmeertaal. python drukt zijn geclassificeerde vermogen uit met zijn behendigheid om aan bijna elke datastructuurbehoeften te voldoen. dit maakt deze taal tot de meest geprefereerde op het gebied van softwareontwikkeling.
Aanbevolen artikelen
Dit is een gids voor een stapel in Python. Hier bespreken we de introductie, Drie manieren waarop Stack kan worden geïmplementeerd, Belangrijkste kenmerken van de stack. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie–
- Matplotlib In Python
- Omgekeerd nummer in Python
- Python-compilers
- Recursieve functie in Python