Стек в Python - Реализация Satck с использованием 2 различных методов

Содержание:

Anonim

Введение в стек в Python

Python Stack - это, как правило, структура данных, которая работает по принципу «последний пришел - первый вышел». это абстрактный тип данных. Несколько частых примеров структуры стека - колода карт. Как и в своем примере, даже в программной сфере Python Stack применяет один и тот же набор протоколов. Это означает, что все операции с данными могут выполняться только по принципу «последний в порядке очереди». в конкретном случае можно получить доступ только к элементу вершины стека Python.

Основные характеристики стека в 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. каждый элемент в классе страны заполняется в этот объект, используя цикл for. это цикл for создает функциональность стека со всеми входами, собранными в порядке возрастания. Для выяснения, что этот элемент данных работает точно так же, как стек.
  • Поп-операция применяется. здесь каждый элемент в стеке извлекается и печатается с помощью функции 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, где ключ представляет собой обозначение алфавита, под которым попадает страна, а значение представляет собой фактическое название страны.
  • Каждый элемент в классе страны заполняется в этот объект с помощью цикла. это цикл for создает составной список со всеми входами, сложенными в порядке возрастания. Для выяснения, что этот элемент данных работает точно так же, как стек. Здесь также применяется операция pop, но в отличие от объекта deque здесь, операция применяется к списку python.
  • Здесь каждый элемент в сложенном списке извлекается и печатается с использованием функции pop (). Мы могли бы заметить, что каждый pop () печатает новейшее название страны в консоли, которое в этом случае начинается с алфавитной записи «z», и печатает буквенную запись «a» как последний набор элементов.

Стековые операции, выполняемые в Python

Некоторые из них приведены ниже:

1. Псевдокод для операции PUSH

  • Оцените объем стека
  • Когда переполнение будет достигнуто, сообщите об этом и выйдите из программы.
  • если стек не переполняется, то объем можно увеличивать, а элемент можно добавлять в верхнюю часть стека.

2. Псевдокод для работы с POP

  • Оцените объем стека
  • Когда переполнение будет достигнуто, сообщите об этом и выйдите из программы.
  • когда стек не находится под потоком, то объем может быть увеличен, и элемент может быть добавлен к вершине стека.

Вывод

Способность Python выражать функциональность стека в нескольких подходах демонстрирует гибкость этого сверхэффективного языка программирования. python выражает свои секретные способности своей гибкостью, чтобы удовлетворить почти все потребности структуры данных. это делает этот язык одним из наиболее предпочтительных в области разработки программного обеспечения.

Рекомендуемые статьи

Это руководство к стеку в Python. Здесь мы обсуждаем введение, Три способа реализации стека, Ключевые характеристики стека. Вы также можете просмотреть наши другие предлагаемые статьи, чтобы узнать больше -

  1. Matplotlib In Python
  2. Обратный номер в Python
  3. Компиляторы Python
  4. Рекурсивная функция в Python