【问题标题】:Taking elements from list and putting them in a stack with python从列表中获取元素并使用python将它们放入堆栈
【发布时间】:2014-03-22 02:54:01
【问题描述】:

这是我目前拥有的,并表示它在尝试推送 i 时缺少一个参数

这是我为这段代码设置的类

class ArrayStack:

def __init__(self):
    self._data = []

def __len__(self):
    return len(self._data)

def is_empty(self):
    return len(self._data) == 0

def push(self, a):
    self._data.append(a)

def top(self):
    if self.is_empty():
        raise Empty('Stack is empty')    
    return self._data[-1]

def pop(self):
    if self.is_empty():
        raise Empty('Stack is empty')
    return self._data.pop()

def reverselist():
    expression = input("Enter whatever: ")
    stacks = ArrayStack
    listofstuff = []
    for item in expression:
        listofstuff.append(item)
        print(listofstuff)
    for token in listofstuff:
        i = str(token)
        stacks.push(i)

【问题讨论】:

  • 你从哪里获取 ArrayStack,它是一个库吗?我使用append 将列表用作堆栈
  • 类 ArrayStack: def __init__(self): self._data = [] def __len__(self): return len(self._data) def is_empty(self): return len(self._data) = = 0 def push(self, a): self._data.append(a) def top(self): if self.is_empty(): raise Empty('Stack is empty') return self._data[-1] def pop (self): if self.is_empty(): raise Empty('Stack is empty') return self._data.pop()

标签: python list stack


【解决方案1】:

您需要ArrayStack 的实例,而不是类本身,更改为ArrayStack(),这将调用您的类的构造函数。

def reverselist():
    expression = input("Enter whatever: ")
    stacks = ArrayStack()
    listofstuff = []
    for item in expression:
        listofstuff.append(item)
        print(listofstuff)
    for token in listofstuff:
        i = str(token)
        stacks.push(i)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-30
    • 2021-05-22
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多