Вопрос по Stack

Finch

Новичок
Пользователь
Апр 30, 2022
15
1
3
Всем привет, есть имплементация стека, как можно сделать функцию get from stack, что бы она принимала не номер элемента в списке, а искала именно само число затем его удаляла, или помещала в другой стек, но что бы любой другой элемент оставаться в стеке с соблюдением их порядка? нужно вынимать элементы в другой стек, затем возвращать их обратно?

Python:
def new_stack():
    stack=[]
    return stack

def size(stack):
    return len(stack)

def is_empty(stack):
    if size(stack) == 0:
        return True

def push(stack,item):
    stack.append(item)

def pop(stack):
    if is_empty(stack):
        return stack
    return stack.pop()

def top( stack ):
    p = len(stack)
    return stack[p-1]

#def get_from_stack():


stack = new_stack()
push( stack, str(34))
push( stack, str(3))
push( stack, str(31))
push( stack, str(98))
push( stack, str(92))
push( stack, str(23))
print(stack)
 

regnor

Модератор
Команда форума
Модератор
Июл 7, 2020
2 661
474
83
искала именно само число затем его удаляла
так?
Python:
def new_stack():
    stack=[]
    return stack

def size(stack):
    return len(stack)

def is_empty(stack):
    if size(stack) == 0:
        return True

def push(stack,item):
    stack.append(item)

def pop(stack):
    if is_empty(stack):
        return stack
    return stack.pop()

def top( stack ):
    p = len(stack)
    return stack[p-1]

def get_from_stack(stack, value):
    for i in stack:
        if i == str(value):
            stack.remove(i)
            return stack


stack = new_stack()
push( stack, str(34))
push( stack, str(3))
push( stack, str(31))
push( stack, str(98))
push( stack, str(92))
push( stack, str(23))
print(stack)
get_from_stack(stack, 31)
print(stack)
 

Форум IT Специалистов