python栈支持的操作示例

发布时间:2021-04-30 11:36:35 作者:小新
来源:亿速云 阅读:127

这篇文章将为大家详细讲解有关python栈支持的操作示例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

python的数据类型有哪些?

python的数据类型:1. 数字类型,包括int(整型)、long(长整型)和float(浮点型)。2.字符串,分别是str类型和unicode类型。3.布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和False(假)。4.列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5. 元组,元组用”()”标识,内部元素用逗号隔开。6. 字典,字典是一种键值对的集合。7. 集合,集合是一个无序的、不重复的数据组合。

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栈支持的操作示例”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

推荐阅读:
  1. Python全栈开发之文件操作
  2. 栈的基本操作

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:美国IP代理服务器的示例分析

下一篇:python双向链表的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》