Вступ до стека в Python
Python Stack - це, як правило, структура даних, яка працює за принципом "останній і перший". це абстрактний тип даних. Кілька частих прикладів структури стеків - колода карт. Як і в його прикладі, навіть на програмній арені Python Stack застосовує той самий набір протоколів. що означає, що всі операції з даними можуть виконуватись лише за останнім принципом. на конкретному наконечнику, можна отримати доступ лише до вершинного елемента стека Python.
Основні характеристики стека в Python
- Основна ідеологія стека - це те, що вона працює на останньому принципі.
- Операції push і pop використовуються для вставки та видалення елемента зі стека.
- Деякі ключові приклади стеку - це розбір тексту та перетворення виразів.
Можна реалізувати два способи Stack
Три основні способи, за допомогою яких можна реалізувати стек, - це нижче,
- Реалізуйте стек за допомогою колекції
- реалізувати стек за допомогою списку
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. це тип деке. кожен елемент класу країни заповнюється цим об’єктом, використовуючи цикл. це для циклу будує функціональність стека з усіма входами, зібраними у порядку зростання. Для з'ясування того, що цей елемент даних працює точно як стек.
- Застосовується поп-операція. тут кожен елемент у стеку вискакується та друкується за допомогою функції pop (). ми могли помітити, що кожен pop () друкує найновішу назву країни на консолі, яка в цьому випадку починається з алфавітного позначення 'z' і друкує алфавітне позначення 'a' як останній набір елементів.
2. Реалізуйте стек за допомогою списку
Як колекція, стек 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, де ключовим є позначення алфавіту, під який потрапляє країна, а значення - фактична назва країни.
- Кожен елемент класу країни заповнюється цим об’єктом за допомогою циклу. це для циклу створює складений список з усіма входами, зібраними у порядку зростання. Для з'ясування того, що цей елемент даних працює точно як стек. Операція pop також застосовується тут, але на відміну від об'єкта deque тут, операція застосовується у списку python.
- Тут кожен елемент у складеному списку вискакується та друкується за допомогою функції pop (). Ми могли помітити, що кожен pop () друкує найновішу назву країни на консолі, яка в даному випадку починається з алфавітного позначення 'z' і друкує алфавітне позначення 'a' як останній набір елементів.
Операції стека, виконані в Python
Деякі з них наведені нижче:
1. Псевдокод для роботи PUSH
- Оцініть об'єм стека
- Коли переповнення буде досягнуте, повідомте про стан та програму виходу.
- коли стек не переповнюється, то об'єм можна збільшувати, а елемент можна додати до верхньої частини стека.
2. Псевдокод для роботи POP
- Оцініть об'єм стека
- Коли переповнення буде досягнуте, повідомте про стан та програму виходу.
- коли стек не протікає, то об'єм можна збільшувати, а елемент можна додати до верхньої частини стека.
Висновок
Здатність Python виражати функціональність стека на декількох підходах демонструє гнучкість цієї надзвичайно ефективної мови програмування. python виражає свою класифіковану здатність своєю спритністю підлаштовувати майже всі необхідні структури даних. це робить цю мову серед найбільш бажаних на арені розробки програмного забезпечення.
Рекомендовані статті
Це посібник зі стека в Python. Тут ми обговорюємо вступ, Три способи стека можна реалізувати, Основні характеристики стека. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -
- Matplotlib In Python
- Зворотне число в Python
- Компілятори Python
- Рекурсивна функція в Python