python栈支持的操作

  • 更新时间:2021-06-30 08:18:08
  • 编辑:阎英武
我们帮大家精选了相关的编程文章,网友宋弘雅根据主题投稿了本篇教程内容,涉及到Python相关内容,已被184网友关注,涉猎到的知识点内容可以在下方电子书获得。

参考资料

正文内容

我们整理一篇关于《python栈支持的操作》技术文章,觉得应该跟大家分享,扩充了更多相关实例,为了方便大家的阅读。

python栈支持的操作

1、说明

Stack()创建一个空栈。不需要参数,会回到空栈;

s.isEmpty()检查栈是否为空,无需参数,并返回布尔值;

s.push(item)添加一个元素。它需要一个参数item,没有返回值;

s.peek()返回栈顶部的元素,但不能移除。无需参数或修改栈内容;

s.size()返回栈中元素的数量。无需参数,可返回整数;

s.pop():移除栈顶部的元素。不需要参数,但会返回顶部元素,修改栈的内容;

2、实例

class Stack():
    """
    栈方式1:假设列表的尾部是栈的顶端。当栈增长时(即进行push操作), 新的元素会被添加到列表的尾部。pop操作同样会修改这一端。
    将允许进行插入、删除的一端称为栈顶,另一端称为栈底。
    """
 
    # 创建一个空栈
    def __init__(self):
        self.__list = []
 
    # 检查栈是否为空:判断是否等于一个空列表
    def isEmpty(self):
        return self.__list == []
        # return not self.__list
 
    # 统计栈的长度
    def size(self):
        return len(self.__list)
 
    # 返回栈顶元素
    def peek(self):
        # return self.__list[len(self.__list)-1]
        if self.__list:
            return self.__list[-1]
        else:
            return None
 
    # 入栈(把列表尾部假设为栈顶)
    def push(self, item):
        self.__list.append(item)
 
    # 出栈
    def pop(self):
        return self.__list.pop()
 
 
class Stack2:
    """
    栈方式2:选择将列表头部作为顶端,必须用pop方法和insert方法显式地访问下标为0的元素,即列表中的第一个元素;
    """
 
    def __init__(self):
        self.__list = []
 
    def isEmpty(self):
        """判断栈是否为空"""
        # return self.__list == []
        return not self.__list
 
    def size(self):
        """返回栈的元素个数"""
        return len(self.__list)
 
    # 入栈
    def push(self, item):
        """添加一个新的元素item到栈顶"""
        self.__list.insert(0, item)
 
    # 出栈
    def pop(self):
        return self.__list.pop(0)
 
    def peek(self):
        """返回栈顶元素"""
        if self.__list:
            return self.__list[0]
        else:
            return None
 
 
if __name__ == '__main__':
    s = Stack2()
    print(s.isEmpty())
    s.push('a')
    s.push('b')
    s.push('小明')
    s.push('c')
    print(s.size())
 
    print(s.pop())
    print(s.pop())
    print(s.pop())
    print(s.pop())

以上就是python栈支持的操作,希望对大家有所帮助。

相关教程

  • Python中判断字符串包含子串的方法

    python中判断字符串包含子串的方法有:使用成员操作符in;用string模块的find()/rfind()方法;使用string模块的index()/rindex()方法 。

    发布时间:2019-06-26

  • python输出怎么取消空格

    strip()方法,去除字符串开头或结尾的空格。||lstrip()方法,去除字符串开头的空格。||rstrip()方法去除字符串结尾的空格。||replace()方法,去除全部空格。||join()方法+split()方法,去除全部空格。

    发布时间:2019-06-26

用户留言