Въведение в стека в Python
Python Stack обикновено е структура от данни, която работи на принципа „последно и първо“. това е абстрактен тип данни. Няколко чести примера за структура на стека е тесте карти. точно като примера си, дори и в софтуерната арена, Python Stack прилага същия набор от протоколи. което означава, че всички операции с данни могат да се извършват само последно, на първо място принцип. в конкретен съвет, например, може да се осъществи достъп само до върховия елемент на Python Stack.
Основни характеристики на стека в Python
- Ключовата идеология на стека е, че тя работи на последно място, на първо място.
- Операциите push и pop се използват за вмъкване и изтриване на елемент от стек.
- Някои ключови примери за стека са разбор на текст и преобразуване на израза.
Два начина могат да бъдат реализирани
Трите основни начина, по които стека може да бъде реализиран, са както е посочено по-долу,
- Реализирайте стек с помощта на колекция
- реализирайте стек, използвайки списък
1. Реализирайте стека, като използвате колекция
Колекциите са типове данни, които се използват за съхраняване на колекции от данни. Структурата на стека данни може да бъде приложена за практикуване при програмиране на python в колекция, използваща клас deque. класът deque основно работи в реда на LIFO. долният пример изобразява операциите на стека с помощта на колекции.
Код:
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')
Резултат:
Обяснение:
- Горната програма използва тип данни за събиране за подготовка на стека. този процес включва импортиране на класа deque в библиотеката на колекцията. Тук импортирането на 'country_list' се използва за изтегляне на каталога на всички страни. Всички стойности на страните се извличат в променлива речник, тъй като екстрактът от библиотеката на страната е в dict формат, където ключът е нотация на азбуката, под която страната попада, а стойността е действителното име на страната.
- За постигане на функционалността на подреждането се създава обект deque. това е от типа deque. всеки елемент от класа на страната се попълва в този обект с помощта на цикъл. това за контура изгражда функционалността на стека с всички входове, натрупани във възходящ ред. За изясняване, че този елемент от данни работи точно като стек.
- Прилага се поп операцията. тук всеки елемент в стека се изскача и отпечатва с помощта на pop () функцията. бихме могли да забележим, че всеки pop () отпечатва най-новото име на страната в конзолата, което в този случай започва с азбучно обозначение 'z' и отпечатва азбучната нотация 'a' като последния набор от елементи.
2. Реализирайте стека, като използвате List
Като колекция, стекът на python може да бъде реализиран и чрез обикновен списък на python. точно да се каже всеки списък, деклариран в python, има тенденция да действа като стек по природа. така че изскачащата стойност в списък винаги връща последната стойност в него. Примерният код по-долу обяснява реализацията на стека с помощта на списък,
Код:
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')
Резултат:
Обяснение:
- Горната програма използва списък с типове данни за подготовка на стека. Тук се използва стандартен списък в структурата на данните на python за постигане на тази функционалност.
- Подобно на горната програма и тук импортирането на 'country_list' се използва за изтегляне на каталога на всички страни. Всички стойности на страните се извличат в променлива речник, тъй като екстрактът от библиотеката на страната е в dict формат, където ключът е нотация на азбуката, под която страната попада, а стойността е действителното име на страната.
- Всеки елемент от класа на страната се попълва в този обект с помощта на цикъл. това за контура конструира подредения списък с всички входове, събрани във възходящ ред. За изясняване, че този елемент от данни работи точно като стек. Поп операцията се прилага и тук, но за разлика от deque обект тук, операцията се прилага в списък с питони.
- Тук всеки елемент от подредения списък се изскача и отпечатва с помощта на pop () функцията. Можем да забележим, че всеки поп () отпечатва най-новото име на страната в конзолата, което в този случай започва с азбучно обозначение 'z' и отпечатва азбучната нотация 'a' като последния набор от елементи.
Операции на стека, изпълнени в Python
Някои от тях са дадени по-долу:
1. Псевдокод за PUSH операция
- Оценете обема на стека
- Когато се достигне преливането, уведомете за състоянието и излезте от програмата.
- когато стекът не прелива, обемът може да се увеличи и елементът може да бъде добавен в горната част на стека.
2. Псевдокод за POP операция
- Оценете обема на стека
- Когато се достигне преливането, уведомете за състоянието и излезте от програмата.
- когато стекът не тече, обемът може да се увеличи и елементът може да бъде добавен в горната част на стека.
заключение
Способността на Python да изразява функционалността на стека при множество подходи показва гъвкавостта на този супер ефективен език за програмиране. python изразява класифицираната си способност със своята гъвкавост да отговаря на почти всяка структура на данните. това прави този език сред най-предпочитаните в областта на разработката на софтуер.
Препоръчителни статии
Това е ръководство за стека в Python. Тук обсъждаме въвеждането, Три начина за подреждане на стека, Основни характеристики на стека. Можете също да прегледате и другите ни предложени статии, за да научите повече -
- Matplotlib In Python
- Обратен номер в Python
- Съставители на Python
- Рекурсивна функция в Python