Python 简单堆栈长度
我已经阅读了这篇文章,可以让Python 简单堆栈长度,python,python-3.x,Python,Python 3.x,我已经阅读了这篇文章,可以让len()函数处理除堆栈之外的所有内容。我尝试过多种不同的想法,感觉很简单。有人看到我遇到的问题了吗。我不知道。我将非常感谢你的帮助 class HardwareID(): #empty list created def __init__(self): self.items = [] #push for python def push(self, item): self.items.append(item
len()
函数处理除堆栈之外的所有内容。我尝试过多种不同的想法,感觉很简单。有人看到我遇到的问题了吗。我不知道。我将非常感谢你的帮助
class HardwareID():
#empty list created
def __init__(self):
self.items = []
#push for python
def push(self, item):
self.items.append(item)
def pop(self):
return self.items.pop()
def is_empty(self):
return self.items == []
#implimented for learning
def peek(self):
if not self.is_empty():
return self.items[-1]
def get_stack(self):
return self.items
s = HardwareID()
print ("The stack the right is the top")
s.push("LCD")
s.push("LED")
s.push("Mobile")
s.push("Charger")
s.push("Speaker")
s.push("Mouse")
s.push("Keyboard")
s.push("Laptop")
print (s.get_stack())
print (len(s))
s.pop()
s.pop()
s.pop()
print (s.get_stack())
解决问题的一个简单方法是将下面的方法添加到类中
def\uuuu len\uuuu(自):
返回len(自我项目)
您可以为您的硬件ID
类实现该方法:
def\uuuu len\uuuu(自):
返回len(self.get_stack())
实施此方法将实现所需的行为:
s=HardwareID()
印刷品(透镜)0
s、 推送(“值”)
s、 推送(“B值”)
印刷品(透镜)2
s、 流行音乐()
印刷品(透镜)1
如何为您的类实现\uuuu len\uuu()
方法?您是否尝试过def\uu len\uuuu(self):返回len(self.items)
?提问时,最好发布错误TypeError:HardwareID类型的对象没有len()
。谢谢。我没有意识到我必须使用class方法。现在我已经把它写在我的笔记本上,作为每一次尝试的一种方式。在堆栈方法中学习和执行此操作似乎有所不同。