Python|Python中的栈

问题描述Python中数据类型有列表,元组,字典,队列,栈,树等等。像列表,元组这样的都是python内置数据结构;栈,队列这些都是需要我们自己去定义的。栈是一种只允许在一端插入和取出的数据结构,这一端通常被叫做栈顶,另一端叫栈底,没有数据的叫空栈。这种数据类型由于是我们自己进行定义,所以有很多功能都需要自己写出相应函数来实现。所以我们看看这里的功能。解决方案栈的基本操作大概有:生成栈,入栈,出栈,返回栈顶元素,判断是否为空栈,返回栈内元素个数。首先我们先要创建一个栈:class stack(object):def  __init__(self):self.__list =  []这里创建出来就是一个空栈,想要检测的话我们也可以通过一个函数来检测是否为空栈:def is_empty(self):return  self.__list == []#  return not self.__list这是两种return的检测方式,任选其一都能够完成。接下来创建了栈,也知道了检测栈是否为空。如定义所说,因为栈是我们自己定义的一种数据结构,且满足一个后进先出的规则,那么元素的保存和取出也自然不同。我们叫做入栈和出栈。首先是入栈,我么仅需要定义一个push函数:def push(self,item):self.__list.append(item)然后定义一个函数pop来进行出栈:def pop(self):self.__list.pop()peek函数进行返回栈顶元素操作:def peek(self):if  self.__list:return self.__list[-1]else:return Nonesize函数进行返回栈的元素个数的操作:def size(self):return  len(self.__list)结语以上便是栈这种数据结构的大概用法,通过定义各种函数,然后在使用时直接调用,这样也显得非常的方便。定义栈的函数时,特别要注意的是里面关键词的使用,例如__list,__init__,中的下划线的使用,这些都是系统内定的,不能轻易改变,不然很容易让系统报错。作者:李和龙实习编辑:衡辉稿件来源:深度学习与文旅应用实验室(DLETA)

(0)

相关推荐

  • 小姨开水果店的,所以今天用Python写了一个水果店小系统!

    前言 今天晚上才刚下班,小姨就提了我最爱吃的榴莲过来,说不吃就坏了. 我一眼就看破了她的用意,哈哈哈  我这个小姨也是一起长大的,她心里的小九九  我在清楚不过了!肯定是有求于我!  然后就直接问他有 ...

  • Learn Functional Python in 10 Minutes | Datacruiser's Blog

    最近在学习python,对函数式编程特别感兴趣,当然,这并不是python的专利,不过最近确实看到一遍文章正好以python为例来讲解函数式编程,特把它翻译过来与大家分享. 原文链接如下: Learn ...

  • 计算运行时间-装饰器实现

    装饰器的一个使用场景 之前有人问装饰器有什么用,能不能具体说个场景.当时,没想好如何使用这个问题.昨天看github上有一个纯python实现的有序数据结构库-SortedContainer.说的很牛 ...

  • Python|字符串中第二大的数字

    问题描述给你一个混合字符串s,请你返回s中第二大的数字,如果不存在第二大的数字,请你返回-1.混合字符串由小写英文字母和数字组成.示例:输入:s = 'dfa12321afd'输出:2解决方案这是一道 ...

  • python lxml中etree的简单应用

    这篇文章主要介绍了python lxml中etree的简单应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧我一般都是通过xpa ...

  • Common encryption methods and implementation in Python Python中常用的加密方法及实现

    Common encryption methods and implementation in Python Python中常用的加密方法及实现

  • 浅谈 Python 2 中的编码问题

    Python 2.x 里的编码实在是一件令人烦躁的事情.不断有初学者被此问题搞得晕头转向.我自己也在很长一段时间内深受其害,直到现在也仍会在开发中偶尔被坑.在本教室的提问和讨论中,编码问题也占据了相当 ...

  • Python正则表达式中的re.S的作用详解

    Python 正则表达式 正则表达式是一个特殊的字符序列,它能帮助你方便的检查一个字符串是否与某种模式匹配. Python 自1.5版本起增加了re 模块,它提供 Perl 风格的正则表达式模式. r ...

  • python世界中形影不离的一对情侣

    文末附有项目代码可供下载 input函数 input()是从控制台获取用户输入的信息,不论用户输入的是什么,input()都会返回字符串类型.<变量> = input(<提示性文字& ...

  • Python圈中的符号计算库-Sympy

    import math math.sqrt(8)2.8284271247461903 我们知道, 那么我们看看Python中结果 math.sqrt(8).math.sqrt(8)8.00000000 ...

  • Python numpy中矩阵的基本用法汇总

    Python矩阵的基本用法 mat()函数将目标数据的类型转化成矩阵(matrix) 1,mat()函数和array()函数的区别 Numpy函数库中存在两种不同的数据类型(矩阵matrix和数组ar ...

  • Python,pandas中DataFrame的选取总结

    Python,pandas中DataFrame的选取总结 ImwaterP 2019-07-17 15:53:37 2014 收藏 6 文章标签: Python pandas 版权 pandas中选取 ...